从Flask返回错误消息并在AJAX请求后在JavaScript上处理它?

时间:2016-11-08 12:52:24

标签: javascript python ajax python-3.x flask

所以我用Flask做了一个Python后端:

@app.route('/test/')
def test():
    data = get_database_data(request.args.id)  # Returns dict of data, or None
    if data is None:
        # What do I do here?
    return jsonify(data)

我现在用JS发出一个AJAX请求:

$(document).ready(function() {
    $.get("/test/", {id: 5}, function(data) {
        // What do I do here?
    });
});

如果返回正确的数据,我想在JS端调用handleData(data),但是如何在JS端返回错误并处理它以避免尝试使用handleData()来处理错误?

1 个答案:

答案 0 :(得分:2)

您可以使用flask.abort退出控制器并显示错误代码(消息)。请参阅:http://flask.pocoo.org/docs/1.0/quickstart/#redirects-and-errors

经典错误代码可能是 400 错误请求。如果您有REST API,可以在此处选择错误代码HTTP Status Codes查看带星号的代码

从客户端,您使用jQuery.ajax()函数处理此错误。有一个"错误"打回来。请参阅:https://api.jquery.com/jQuery.ajax/