2016-11-08 11 views
0

だから私はフラスコで行わPythonのバックエンドがあります。Flaskからエラーメッセージを返し、AJAXリクエスト後にJavaScriptで処理しますか?

@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)を呼びたいです、 handleData()でエラーを処理しようとするのを避けるために、エラーを返してJS側で処理するにはどうすればよいですか?

答えて

2

flask.abortを使用すると、エラーコード(aメッセージ)でコントローラを終了できます。参照:http://flask.pocoo.org/docs/0.11/quickstart/#redirects-and-errors

古典的なエラーコードは、にすることができます。 REST APIを使用している場合は、エラーコードHTTP Status Codesを選択できます。 アスタリスクコードを参照してください。

クライアント側からは、jQuery.ajax()機能でこのエラーを処理します。 「エラー」コールバックがあります。参照:https://api.jquery.com/jQuery.ajax/

関連する問題