7

私はグローバル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 にアップデートしたところ、エラーはなくなりました。ボアズのおかげです。

4

1 に答える 1

2

編集後、を使用しているようですjQuery 1.9.0には、 AJAX関連のバグ修正jQuery 1.9.1がいくつかありました。最新のjQueryリリースを使用してみてください。

于 2013-03-13T06:05:12.177 に答える