2013-08-07 21 views
8

ajaxコールを使用して複数のページにデータを送信できますか? 私はこのために別のajax呼び出しを使いたくありません。同じAjax呼び出しで複数のURLが可能ですか?

サンプルコード:

$.ajax({ 
    type: 'POST', 
    url: '../services/form_data.php', //can I send data to multiple url with same ajax call. 
    data: { 
     answer_service: answer, 
     expertise_service: expertise, 
     email_service: email, 
    }, 
    success: function (data) { 
     $(".error_msg").text(data); 
    } 
}); 
+3

いいえ、これをラップしてパラメータとしてURLを受け取る関数を書くことができます。 –

+1

そして、異なるURLからの異なる結果をどのように処理するつもりですか? – CCH

+0

form_data.phpに別のリクエストを送信させることができます。 (またはその間に新しいスクリプトを追加する) – CCH

答えて

11

あなたが使用することはできません多くのページからの1つのリクエストに対する同じコード。

しかし、2つのリクエストを送信できます。そのあなたが必要なのは$.each$.ajax

var urls = ['/url/one','/url/two', ....]; 

$.each(urls, function(i,u){ 
    $.ajax(u, 
     { type: 'POST', 
     data: { 
      answer_service: answer, 
      expertise_service: expertise, 
      email_service: email, 
     }, 
     success: function (data) { 
      $(".error_msg").text(data); 
     } 
     } 
    ); 
}); 

の2つのパラメータ形式で、あなたのAjaxコードを貼り付けコピーによって行われたりすることによってURLを取得する機能を構築し、このURL

function sendMyAjax(URL_address){ 
    $.ajax({ 
     type: 'POST', 
     url: URL_address, 
     data: { 
      answer_service: answer, 
      expertise_service: expertise, 
      email_service: email, 
     }, 
     success: function (data) { 
      $(".error_msg").text(data); 
     } 
    }); 
}; 
+0

私の質問が更新されました...どうぞご覧ください。 –

3

単一AJAX要求は1つのURLのみに話すことができますが、別のURLの複数のAJAX要求を作成することができ、そして、彼らは同時に自分の仕事を行います - あなたがする必要はありません1つが完了するのを待ってから次のものを発射する。

(あなたのURLが同じサーバー上にある場合、単一のURLが複数のURLが今、すべての仕事をするように、あなたは、サーバー側のコードをリファクタリング検討することができます。)

+0

私の質問が更新されました...どうぞご覧ください。 –

7

でリクエストを送信することができます注:成功コールバックによって生成されたメッセージは、次のように互いに上書きされます。あなたはおそらく、$( '#someDiv').append()または同様の関数をsuccess関数で使用したいと思うでしょう。

+0

私の質問が更新されました...どうぞご覧ください。 –

関連する問題