2010-12-07 7 views
1

を返すことはありません、時にはそれは、自分自身を複製し、もう一つは完了しますが、私は得ることはありませんレスポンスバックと元のものが永遠にロードされ続けます。これは、Ajaxコールが再び発生したときやリフレッシュしたときに修正されます。jqueryのAJAX呼び出しの応答は、私は、AJAX呼び出しを行っていると私はいくつかのかなり特異な行動に遭遇しているアプリに取り組んでいます

ランダムに発生するため、問題は再現できません。タブが開いたままになっていて、タブやプログラムが違う場合がほとんどです。

私は放火犯を使用して気づいた唯一のものは、応答ヘッダに何か問題があるように思われるということです。

成功したコールと比較して、コールの順序が異なり、一部の情報が完全に欠落しています。 Content-Typeには、$.ajaxSetupで定義しているtext/htmlよりも常に多くの種類があります。

$.ajaxSetup({ 
    dataType:'html', 
    cache:false, 
    type:'POST', 
    timeout:15000, 
    error:function() { 
    alert('Action aborted please try again'); 
    }, 
    complete:function(XMLHttpRequest,textStatus){ 
    //console.log('XMLHttpRequest.readyState : '+XMLHttpRequest.readyState+'\nXMLHttpRequest.statusText : '+XMLHttpRequest.statusText+'\nXMLHttpRequest.status : '+XMLHttpRequest.status+'\ntextStatus : '+textStatus); 
    } 
}); 

と私のAJAX呼び出しの例:私はdataTypeを追加し、WinXPのSP3のマシン上でローカルに見たときにも、それはより頻繁に起こっている前に、この動作はより頻繁に多くのことを起こった

var dataString = 'value='+value+'&value1='+value1+'&value2='+value2; 
    $.ajax({ 
    url:'file.php', 
    data:dataString, 
    success:function(resp){ 
     alert(resp); 

    } 
    }) 

xamppを使って、私はfirefoxとIEの両方を考えています。

私は、Windows Server 2008およびApacheとPHPスタンドアローンつまりXAMPPとさえあまり起こっているではないを実行しているサーバーでテストしています。 フォーム私の家庭のPCそれはほとんど私のオフィスのPCにあった上記のテストが起こることはありません。

は、誰もが行動の同様のタイプに出くわしたまたは多分違った私のAJAX呼び出しをコーディングする方法があります。

私はプラグインとロングポーリングのApacheサーバ上で少し重い落ちるように見えるを使用しないようにしたいと思います。

答えて

0

jquery ajaxコールを使用する方法は技術的に正しいです。あなたが持っているように手動でデータ文字列を構築しないことを提案します。データリテラルをdataパラメータに渡し、jqueryに文字列変換をさせることができます。これには、jqueryが適切なエスケープを実行してXMLHttpRequestを混乱させるという追加の利点があります。 それ以外の場合は、firebugのconsole.trace()コマンドを使用して2つの.ajax呼び出しを実際に行っているかどうかを確認することをおすすめします。あなたのajaxSetupで設定できる 'beforeSend'リスナーがあります。それを置くのが良いかもしれません。

0

あなたはこのような何か意味:私は、ほぼ間違いなく、一度に一つだけのコール火災確信しているが、それは時間がかかりすぎる場合、それは自分自身を複製し、永遠にロードし続け

var dataString= { 
    value: value, 
    value1: value1 
}; 

を。

私は放火犯からのスクリーンショット添付しています:それは元の要求が完了したことがないようなものだが、代わりに、実際に要求されていませんでした応答を取得イム

Firebug

+0

を – alex