2009-06-21 7 views
10

jQueryでAjaxリクエストのために未定義のエラーがあります。しかし、それはローカルで動作します。 3633ラインjQuery XMLHttpRequestエラー

xhr.send(s.data); 

私のコード@ jquery1.3.2.jsに参照エラーは以下のとおりです。コード内

$.ajax({ 
    type: "POST", 
    url: 'index.php', 
    data: "action=showpath&type=images&path=&default=1", 
    cache: false, 
    dataType: "html", 
    success: function(data){ 
     $('#addr').html(data); 
    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
      alert(xhr.status); 
      alert(thrownError); 
    }  
}); 

アラートが(0、 '未定義')私を示しています。

私は間違っていますか?

答えて

23

完了する前にあなたのajaxリクエストが取り消されている可能性があります。 jQueryは、ユーザーがブラウザからURLを更新するか、リンクをクリックするか、ブラウザのURLを変更することによって、ページから離れてナビゲートすると、エラーイベントをスローします。これらのタイプのエラーを検出するには、ajax呼び出しのエラーハンドラを実装し、xmlHttpRequestオブジェクトを検査します。

$.ajax({ 
    /* ajax options omitted */ 
    error: function (xmlHttpRequest, textStatus, errorThrown) { 
     if(xmlHttpRequest.readyState == 0 || xmlHttpRequest.status == 0) 
       return; // it's not really an error 
     else 
       // Do normal error handling 
}); 
0

オフハンドを教えてもらえませんでしたが、おそらくindex.phpのサーバー側にあるものでしょう。伝える最も良い方法は、httpデバッガを使って生の応答を見ることです。 Firebug Firefoxの拡張機能はかなり良いものを持っています。fidder2はビーフオプションです。

+0

私はそれをファイアバグでテストしました。誤った返答が表示されますが、自分のステータスは200です - OKです。 Ajaxリクエストは説明なしでajaxErrorを返します。 –

+0

私は同じ問題の説明を見つけました http://www.mail-archive.com/[email protected]/msg65106.html しかし解決策はまだありません。 –