0

データをロードするためのjQuery ajax関数呼び出しがあります。Chrome でテストしているときに、リクエスト完了関数が呼び出されないことがありますが、機能することもあります。何が原因か教えてください。

var request = $.ajax({
    url: data_url,
    type: 'post',
    data: ""
});
request.done(function(result)
{
    console.log("Done");
}

更新をクリックすると機能するため、URL とすべてが正しいです。ブラウザからストリームを送信するときに終了コードを渡す必要がありますか?

サーバー側では、エンコードされた JSON を送信するために PHP の echo 関数を使用しています。

4

2 に答える 2

1

あなたのコードは間違っていないようです。私がときどき遭遇した問題の 1 つは、Web ブラウザーがサーバーへの同時要求の数を制限していることでした。そのため、サーバー コードにブレークポイントを設定すると、デバッグ セッション中に説明した問題に簡単に遭遇します。一般的なブラウザで許容される同時 AJAX (XmlHttpRequest) リクエストの数は?も参照してください。

于 2013-09-28T10:59:13.660 に答える
0

バックエンドがハングしています。更新時に機能することがある理由は、更新時にブラウザーが要求をキャンセルし、xhr が終了するためです。

コマンドラインからcurlを試して、次のことを確認できます。

$ curl -iX POST --data "" data_url
于 2013-09-28T10:56:21.533 に答える