Ajax リクエストのエラーに関する詳細情報を取得するにはどうすればよいですか?
通常の HTTP リクエスト中に Django でエラーが発生すると、Django は例外の詳細を含む説明的なエラー ページを表示します。
ただし、AJAX リクエスト中にエラーが発生した場合は、HTTP エラー コードを知っているだけです。Django のエラー ページから学んだことと同じくらい詳細を知りたいです。
通常の HTTP リクエスト中に Django でエラーが発生すると、Django は例外の詳細を含む説明的なエラー ページを表示します。
ただし、AJAX リクエスト中にエラーが発生した場合は、HTTP エラー コードを知っているだけです。Django のエラー ページから学んだことと同じくらい詳細を知りたいです。
ajax リクエスト内のエラーを処理し、responseText を使用してレスポンス テキストを取得し、そのために作成した空の div に配置します。
例えば:
$.ajax({
url:"{% yourView %}",
dataType: 'json',
success: function(jsonData){
alert("Hooray!");
},
error: function(jqXHR, textStatus, errorThrown){
$('.errors_div').html(jqXHR.responseText);
}
});
django エラー ページは div class=errors_div にレンダリングされます
Web サーバーのエラー ログには、キャッチされなかった例外に関する追加情報が含まれます。
通常のトレースバックが表示されるように、ブラウザのアドレスバーでURLに直接アクセスしてみませんか?
別のビューでラップして、MIMEタイプをtext/htmlに変更します。
また、Djangoデバッグツールバーが正しく機能するように、JSON出力をhtmlタグでラップするビューもよくあります。
Firebugを使用します。コンソールにAJAXリクエストが表示されます。右クリックして、[応答コンテンツをコピー]をクリックし、HTMLファイルとして保存します。