Reactjs Fetch加载失败:具有200响应的POST Flask Restful API
我正在尝试向我的Flask RESTful应用程序发出POST请求,其中所有GET请求都会毫无问题地响应,POST请求似乎会通过Restlet客户端和curl正确地响应,但根据浏览器chrome,它们无法获取加载失败:POST Python RESTful代码:Reactjs Fetch加载失败:具有200响应的POST Flask Restful API,reactjs,flask,fetch,Reactjs,Flask,Fetch,我正在尝试向我的Flask RESTful应用程序发出POST请求,其中所有GET请求都会毫无问题地响应,POST请求似乎会通过Restlet客户端和curl正确地响应,但根据浏览器chrome,它们无法获取加载失败:POST Python RESTful代码: login_parser = reqparse.RequestParser() login_parser.add_argument('email', required=True, help="Es necesario un email"
login_parser = reqparse.RequestParser()
login_parser.add_argument('email', required=True, help="Es necesario un email")
login_parser.add_argument('password', required=True, help="Es necesaria una contraseña")
@app.route('/login', methods=['POST', 'GET'])
def login():
args = login_parser.parse_args()
try:
user = Usuario.query.filter_by(email=args.email).first()
if user and user.verify_password(args.password):
token = user.encode_auth_token(user.id)
if token:
responseObject = {'status': 'success', 'message':'Successfully logged in.', 'token': token.decode()}
return make_response(jsonify(responseObject)), 200
else:
responseObject = {'status': 'failed', 'message': 'Failed to login, usuario o contraseña incorrectos'}
return make_response(jsonify(responseObject)), 400
except Exception as e:
responseObject = {'status': 'failed', 'message': e}
return make_response(jsonify(responseObject)), 500
return "Vaya uno a saber"
获取代码:
login = (event) => {
event.preventDefault();
let formData = new FormData();
formData.append('email', this.state.username);
formData.append('password', this.state.password);
fetch(URL, {
method: 'post',
body: formData
})
.then(
response => response.json
).then(
json => {
console.log(json.token);
}
)
};
正如我所说,api可以从除获取之外的所有客户机上运行,这使我有机会获得响应代码response.status,但拒绝了我获得json响应的机会,witch必须是:
{'status':'success','message':'Successfully logging.','token':令牌}
对于我的英式英语,我真的很抱歉,但我正在努力学习。从现在起非常感谢你。
我在StackOverflow中的第一个问题应该是:
.then(
response => response.json() // .json() is a promise function
)
你是最棒的。还有一个问题:尽管答案正确,但响应仍然很差。Fetch加载失败:POST,我应该对此做些改进以提高性能吗?不,不认为有更好的方法,列表中没有什么重要的内容。