私はグローバルajaxComplete
ハンドラーを持っています:
$('body').ajaxComplete(function (event, request, settings) {
if (request.getResponseHeader('REQUIRES_AUTH') === '1') {
alert("unauthorized");
};
});
常に未定義であるという問題は、request
のみで埋められevent
ます。
理由を説明していただけますか?
ajax リクエストの例:
$.ajax({
cache: false,
data: "GET",
url: url,
success: function (content) {
$('#modal').html(content);
$('#modal').modal();
}
});
更新:
API ドキュメントから (Austin Mullins に感謝):
ただし、jQuery 1.8 の時点では、.ajaxComplete() メソッドはドキュメントにのみ添付する必要があります。
コードを次のように変更しました。
$(document).ajaxComplete(function (event, request, settings) {
if (request.getResponseHeader('REQUIRES_AUTH') === '1') {
alert("unauthorized");
};
});
しかし今、私はエラーが発生します:
TypeError: document.createDocumentFragment is not a function
safeFrag = document.createDocumentFragment(); (jquery-1.9.0.js (line 5800))
ブラウザは Firefox 19.0.2
解決策: 問題は Jquery バージョン 1.9.0 にありました。1.9.1 にアップデートしたところ、エラーはなくなりました。ボアズのおかげです。