烧瓶正确的方式来处理来自前端的AJAX调用的错误
问题描述:
我有一个与Python Flask服务器通信的React应用程序。烧瓶正确的方式来处理来自前端的AJAX调用的错误
我正在实现一项功能,允许用户更改密码。 AJAX请求从React转换为Flask。这会发送旧密码和新密码。
我在前端执行所有检查以确保密码符合要求。
从前端Flask发送数据后,检查旧密码是否正确,然后更新新密码。这会将一个200
响应发送回客户端。当一切顺利时,我没有任何问题。
但是,我不确定在用户发送200
状态的情况下该怎么做,但返回的json消息是不同的。
我的问题的确是在这个阶段是否应该在这里发送错误响应。
这是我的代码看起来像
@customer.route('/update-password', methods=['POST'])
def update():
current_password=request.json['currentPassword']
password=request.json['newPassword']
login_response = engine.login('testUser', current_password)
if login_response.get('success'):
password_response = engine.update_user_password(password=password)
if password_response.get('success'):
return jsonify(message='password_updated_success')
else:
return jsonify(message='password_update_error')
else:
return jsonify(message='incorrect_password_provided')
这里是我的前端代码
axios.post('update-password', {
currentPassword: oldPassword,
newPassword: newPassword
}).then(response => {
dispatch(updatePasswordSuccess());
resolve(response);
}).catch(err => {
dispatch(updatePasswordError());
reject(err);
});
答
更改您的回复结构,明确发送相关HTTP错误代码之一(如500)到您的前端代码,这样AJAX将识别出现错误。
基本上是这样的:
return jsonify(message='password_update_error'),500
见瓶文档here进一步的信息,这