2017-01-30 4 views
0

JS/phpでは特定のURLにリクエストを送信し、そのURLからの応答を待つことはできますか?リクエストを送信して応答を待つ

この質問をより良い方法で説明する方法はわかりませんが、私がしようとしているのは、キューがあるページにリクエストを送信することです。そのページでは、それがキューを通過するとすぐに私に応答を送ってください。

+1

だから何を試しましたか?あなたがあなたのソリューションに直面している問題は何ですか? –

+0

私はこれを行う方法を知りません。私はjqueryでそれを行うことが可能かもしれないと思ったが、私はそれをリクエストページに残す方法を知らない。 – Serwj

+0

[PHP - Curl](http://php.net/manual/en/book.curl.php) – Peter

答えて

0

AngularJS(javascript)などで行うことができます。それはあなたがいずれかにAjaxリクエストを行うことができますjQueryを使って:)

0

を助けるだろうと$http Service

希望:AngularJSから

$http.get('your_url').success(function(){ 
// Your code if there is a good response at your request 
}).error(function(){ 
// Your code if you detected an error (page not found etc...) 
}) 

公式ドキュメント:あなたは$ HTTPサービスでは

他のサーバーのサイドページを次のようにします。 PHPで

$.ajax({ 
    method: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}) 
    .done(function(msg) { 
    alert("Data Saved: " + msg); 
    }); 

あなたは

0

いいえ、それは不可能ですそれぞれのサーバー側のファイルへCURL電話をかけてきました。

あなたをよく理解したら、バックエンドにリクエストを送信し、キューに入れられたプロセスが終了するまで応答を待ちます。プロセスは、5分のように長い時間も取ることができません。 そしてここに問題があります。タイムアウト理由のために、バックエンドに対するあなたの要求はしばらくして閉じられます。

正しい方法は

  1. あなたのバックエンドにリクエストを送信し、あなたの要求をキューイング問題に成功したキューに入れられたリクエスト、失敗した場合に成功応答を取得し、する必要があります。
  2. しばらくすると、バックエンドに2回目のリクエストを送信して、処理が完了したかどうかを取得できます。この要求は、すべてのユーザーのキューに入れられた要求が処理されるまで、複数回送信することができます。

他の可能な解決方法は、socket.ioの使用方法です。

関連する問題