jquery の $.ajax リクエストでサーバーから送信される 403 エラーの処理についてサポートが必要です。リクエストが禁止されているため、JSエラーとして送信されますが、アプリケーション全体に失敗するJSエラーだけでなく、エラーをAjaxレスポンスの一部にしたいだけです。403 は OAuth2 に由来します。私の質問をより明確にするためにコードを提供する必要がある場合は、お知らせください。
どうすればそれを達成できますか?
jquery の $.ajax リクエストでサーバーから送信される 403 エラーの処理についてサポートが必要です。リクエストが禁止されているため、JSエラーとして送信されますが、アプリケーション全体に失敗するJSエラーだけでなく、エラーをAjaxレスポンスの一部にしたいだけです。403 は OAuth2 に由来します。私の質問をより明確にするためにコードを提供する必要がある場合は、お知らせください。
どうすればそれを達成できますか?
解決策: ajax リクエストごとにこの状況に対処するために私が見つけた最善の方法は、statusCode メソッドを使用することです。
statusCode: {
403: function() {
},
200: function(data) {
}
//other codes. read the docs for more details
}
これは私のすべてのアプリでうまく機能します:
(function($){
$(document).on('ajaxError', function(event, xhr) {
if (xhr.status === 401 || xhr.status === 403) {
window.location.reload();
}
});
})(jQuery);
提供された URL が正しいかどうかを確認します。
それでも 403 が応答として受信される場合は、try - catch ブロックを使用して、それに応じてエラーを処理してみてください。
try
{
//Run some code here
}
catch(err)
{
//Handle errors here
}