2012-02-01 13 views
0

を呼び出して、最初はAJAX要求は、私はAJAX要求の束を持っている

$.post("go.php", { url: pastedURL, key: offskey, mo: 'inward', id: exID}); 

このリクエストで、go.phpににもかかわらず、nohupをシステムコマンドを含み、&最後に、Firebugの回転を止めずに応答を待っています。

残念ながら、次のAJAX要求

$.post("requestor.php", { request: 'getProgress', key: offskey}, function(data) { console.log(data.response); }, "json"); 

は、それが(go.phpが完了するまで、私は推測している)放火魔にラウンド旋風、実行されません - それは最終的にすべてのものをオーバーロード(これはタイマーであります数秒ごとにチェックする)。

私は、単に応答を待つのではなく、単にデータを投げ捨てるAJAXメソッドがあると思います。あるいは、他のリクエストが待っている間に別のリクエストを実行することができます。

誰かが私の意図を知っていることを願っています。

答えて

0

ブラウザによって使用される接続の数は限られています。この数はブラウザによって異なりますが、IE7のような古いものの場合、サーバあたり2つの接続しかない場合があります。保留中のリクエストを満たした後は、それらのリクエストが完了するのを待ってから、そのサーバーに追加リクエストを行うことができます。

終えたあなたは以前のものの前のsetTimeoutかのsetIntervalを使用して、追加のrequestor.php要求を行うこともできるようですね

(これは数秒ごとにチェックするためのタイマですか)?もしそうなら、それをしないでください。完全な$ .ajax(たぶんタイムアウトも含む)を使用し、成功/エラーコールバックでのみ別のリクエストを行います。

1

async: false,を、jQueryの$.ajax()メソッドのパラメータとして確認してください。

async: trueに設定する必要があります。

1

は待機を続行するために、これを必要とするでしょうもう一方の端のPHPリクエストが判明: -

"> /dev/null 2>/dev/null &" 

source

関連する問題