Javascript 使用来自前端的AJAX调用处理错误的正确方法

Javascript 使用来自前端的AJAX调用处理错误的正确方法,javascript,python,ajax,reactjs,flask,Javascript,Python,Ajax,Reactjs,Flask,我有一个与Python Flask服务器通信的React应用程序 我正在实现一个允许用户更改密码的功能。AJAX请求由React to Flask发出。这将发送旧密码和新密码 我在前端进行所有检查,以确保密码符合要求 从前端发送数据后,检查旧密码是否正确,然后更新新密码。这会将200响应发送回客户端。当一切顺利时,我就没有问题了 但是,我不确定在用户发送200status,但返回的json消息不同的情况下该怎么办 我真正的问题是在这个阶段是否应该发送错误响应 这就是我的代码的样子 @custom

我有一个与Python Flask服务器通信的React应用程序

我正在实现一个允许用户更改密码的功能。AJAX请求由React to Flask发出。这将发送旧密码和新密码

我在前端进行所有检查,以确保密码符合要求

从前端发送数据后,检查旧密码是否正确,然后更新新密码。这会将
200
响应发送回客户端。当一切顺利时,我就没有问题了

但是,我不确定在用户发送
200
status,但返回的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
有关这方面的更多信息,请参阅烧瓶文档