Проблема с Jquery AJAX и более чем 2 переменными - PullRequest
0 голосов
/ 17 июля 2011

Я пытаюсь добавить раздел «Расскажи другу» на создаваемый мной веб-сайт, но у меня возникают трудности при попытке отправить более 2 переменных через URL с помощью AJAX.Это код, который у меня есть на данный момент:

    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.');

      }
    });

});

Если я удаляю часть '& name = name', чтобы я отправлял только имя и адрес электронной почты, он работает нормально, но мне нужно отправитьа также имя, чтобы я мог написать «Уважаемый $ name ....»

Как я могу отправить дополнительную третью переменную?Спасибо за любую помощь

Редактировать:

Часть, которую я использую на странице tellafriendprocessor, выглядит следующим образом:

$ email = $ _POST ['email'];$ 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 {

              }

Ответы [ 4 ]

1 голос
/ 10 февраля 2013

вы можете отправить свои параметры на страницу с помощью AJAX методом GET и POST с этим фрагментом кода

data: {id: 'id', name: 'name'}, // отправлено несколько данныхиспользование ajax

Вот пример

$. ajax ({тип: "GET", кеш: false, URL: "welcome.php", данные: {id: 'id',name: 'name'}, // несколько данных, отправленных с использованием ajax success: function (html) {$ ('# add'). val ('данные отправлены'); $ ('# msg'). html (html);}});

1 голос
/ 17 июля 2011

Вы можете попробовать отправить их как часть тела запроса POST (используя свойство data), которое обеспечит правильное кодирование этих значений:

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 голосов
/ 17 июля 2011

Попробуйте использовать объект параметров следующим образом:

$.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);
});
0 голосов
/ 17 июля 2011

Вам нужно будет переместить name за пределы строки.И чтобы добавить больше пар ключ-значение, просто добавьте их в строку запроса: & key = value

url: "http://www.example.co.uk/tell-a-friend-processor-page/?postname=<?php echo $post_name; ?>&name="+name+"&email="+email
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...