Python 使用JSON制作Angular2帖子
我有一个简单的烧瓶后端的API,并希望作出一个职位。 我不确定错误是-我收到了错误消息,但不确定是角度问题还是烧瓶问题。我尝试了请求。在我的烧瓶中获取_json(),然后 {BadRequest}400 BadRequest:浏览器(或代理)发送的请求 此服务器无法理解 Angular2呼叫我的服务。ts:Python 使用JSON制作Angular2帖子,python,json,angular,flask,angular2-services,Python,Json,Angular,Flask,Angular2 Services,我有一个简单的烧瓶后端的API,并希望作出一个职位。 我不确定错误是-我收到了错误消息,但不确定是角度问题还是烧瓶问题。我尝试了请求。在我的烧瓶中获取_json(),然后 {BadRequest}400 BadRequest:浏览器(或代理)发送的请求 此服务器无法理解 Angular2呼叫我的服务。ts: import { Injectable } from '@angular/core'; import { Http, Response } from '@angular/http'; imp
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable} from 'rxjs/Rx';
import { Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
@Injectable()
export class NicksService {
private headers = new Headers({'Content-Type': 'application/json'});
nickUrl: string = "http://localhost:5000/nick";
constructor(private http: Http) { }
// Send the nick to the server to see if it is valid
checkNickValidity(nickName: string): Observable<string>{
return this.http.post(this.nickUrl, JSON.stringify({nick: nickName}), {headers: this.headers})
.map(this.extractData)
.catch(this.handleError)
}
我认为你的申请在两方面都有问题 客户端: Angular的方法接收body参数中的任何对象,这意味着您不需要将其字符串化 例如: 服务器端: 一旦客户机的请求正确地到达服务器,您就无法正确地获取数据 您需要做的是这样的事情:
from flask import jsonify
(... your code ...)
data = request.json
nick = data.get('nick')
if nick == 'AmandaPanda':
return jsonify({'message': 'good'}), 200
else:
return jsonify({'message': 'no nick found'}), 400
这里,json数据作为字典存储在变量data
中。随后,从所述词典的尼克
键中获得尼克
最后,以json形式返回客户机是一种更好的做法。这就是方法的用途。请注意响应后附加的200和400,用于向客户端指示请求是否被正确接受(200)或是错误的请求(400)。400通常意味着服务器无法接受您的请求,因为请求的形式不是预期的。它可能包括内容类型、请求参数、url、标题等。您需要检查服务器以确定问题。
this.http.post(this.nickUrl, {nick: nickName}, {headers: this.headers})
from flask import jsonify
(... your code ...)
data = request.json
nick = data.get('nick')
if nick == 'AmandaPanda':
return jsonify({'message': 'good'}), 200
else:
return jsonify({'message': 'no nick found'}), 400