2013-03-13 16 views
7

定義されていない:その中ajaxCompleteは、XMLHttpRequestが、私はグローバル<code>ajaxComplete</code>ハンドラを持って

$('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();   
     } 
    }); 

UPDATE:APIドキュメントから (オースティンマリンズのおかげで):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にアップデートしました。エラーはなくなりました。ボアズに感謝します。

+0

[APIドキュメント](http://api.jquery.com/ajaxComplete/)から>注:jQuery 1.8では、.ajaxComplete()メソッドはドキュメントにのみ添付する必要があります。 –

+0

@AustinMullins:私は文書に変更しましたが、今はエラー 'TypeError:document.createDocumentFragmentが関数ではありません。' – user348173

+0

どのように変更しましたか?それは '$(document).ajaxComplete()'でなければなりません。 –

答えて

2

あなたの編集に続いて、あなたはjQuery 1.9.0を使用しているようです。いくつかあったAJAX-related bugfixes in jQuery 1.9.1。最新のjQueryリリースを試してみてください。

関連する問題