2011-07-17 13 views
0

私は作成しているWebサイトに友人セクションを追加しようとしていますが、AJAXを使用して2つ以上の変数を送信しようとしています。これは、現時点で私が持っているコードです:私は「&名=名」の部分を削除した場合、私は唯一のpostnameとメールアドレスを送信していますように、Jquery AJAXと2つ以上の変数の問題

jQuery("#tellafriendsubmit").click(function() { 

     var email = jQuery('#tellafriendemail').val(); 
     var name = jQuery('#tellafriendname').val(); 

      jQuery.ajax({ 
      type: "POST", 
     url: "http://www.example.co.uk/tell-a-friend-processor-page/?postname=<?php echo $post_name; ?>&name=name&email="+email, 

     success: function(msg){ 
      alert('Your tell a friend recommendation has been sent. Thank you for recommending us.'); 

     } 
    }); 

}); 

、それが正常に動作しますが、私は、送信する必要があります私は 'Dear $ name ....'と書くことができます。

余分な第3変数はどうやって送ることができますか?任意の助けてくれてありがとう

編集:

私はtellafriendprocessorページで使用している部分は、次のようになります。

$メール= $ _POST [ 'メール']; $ post_name = $ _GET ['postname']; $ name = $ _POST ['name'];

   $to = $email; 
      $subject = "Example - Tell a friend"; 
      $body = "Dear $name http://www.example.co.uk/ads/$post_name"; 

      if (mail($to, $subject, $body, $headers)) { 

       } else { 

       } 

答えて

1

あなたはこれらの値が適切にエンコードされていることを確認します(dataプロパティを使用して)POSTリクエストのボディの一部としてそれらを送信してみてください:

サーバー側で
var email = jQuery('#tellafriendemail').val(); 
var name = jQuery('#tellafriendname').val(); 
jQuery.ajax({ 
    type: 'POST', 
    url: 'http://www.example.co.uk/tell-a-friend-processor-page/?postname=<?php echo $post_name; ?>', 
    data: { name: name, email: email }, 
    success: function(msg) { 
     alert('Your tell a friend recommendation has been sent. Thank you for recommending us.'); 
    } 
}); 

は、あなたがしていることを確認してください$_POSTハッシュ($_POST["name"]$_POST["email"])からそれらを読み取ります。

+0

あなたの答えがありがとう、私はこれを試してみましたが、私はまだそれを動作させることができません(アラート機能が表示されないので、私は他のファイルにも私の質問を編集しました。もし私が何か間違っていたら見えますか? –

+0

@Daniel H、FireBugを使ってAJAXリクエストをサーバーに送信し、返されたレスポンスを分析してみてください。また、javascriptエラーがないことを確認してください。私が見ることのできるところからは、あるボタンのclickイベントを購読していますが、最後に.clickコールバックからfalseを返すことはありません。 '#tellafriendsubmit'がアンカーかフォーム送信ボタンの場合、AJAXには決して時間がありませんページがリダイレクトされるときに実行されます。また、 '$ post_name' PHP変数に' ''などの文字が含まれていると、JavaScriptが壊れる可能性があります。 –

+0

こんにちはダーリン、私はHTML/CSSを見て火かき棒を使用して、私はそれを使用してAJAXの呼び出しを見る方法を知らない。どこを見ますか?ありがとう –

0

nameを文字列の外側に移動する必要があります。そして、あなただけのクエリ文字列にそれらを追加し、より、キーと値のペアを追加します。&キー=値

url: "http://www.example.co.uk/tell-a-friend-processor-page/?postname=<?php echo $post_name; ?>&name="+name+"&email="+email 
+0

こんにちはZanathel、申し訳ありませんが、私はちょうど私がjavascriptの変数名を追加する前にそれをテストするためにそこに値の名前を入れて、私もそれを試したし、それが動作しませんでした –

0

は、このようなのparamsのオブジェクトを使用してみてください:

$.post("/tell-a-friend-processor-page/", { name: "John", email: "<?php echo $post_email; ?>", post_name: "<?php echo $post_name; ?>" }, 
function(data) { 
    alert("Data Loaded: " + data); 
}); 
1

あなたのパラメータを送信することができます{ID: 'ID'、名前: '名前'} //ここでAJAX

を使用して送信された複数のデータがAでコード

データのこの部分とのGETおよびPOSTメソッドによってAJAXのページへn個の例

$アヤックス({ タイプ: "GET"、 キャッシュ:偽、 URL: "welcome.php"、 データ:{ID: 'ID'、名前: '名前'}、//ajaxを使用して送信された複数のデータ 成功:function(html){ $( '#add')。val( 'data sent sent'); $( '#msg').html(html); } });