我正在尝试向我正在制作的网站添加一个告诉朋友部分,但我很难通过带有AJAX的URL发送超过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.');
}
});
});
如果我删除'&amp; 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 {
}
答案 0 :(得分:1)
您可以尝试将它们作为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"]
)来阅读它们。
答案 1 :(得分:1)
您可以使用GET和POST方法将参数发送到使用AJAX的页面
数据:{id:'id',名称:'name'},//使用ajax发送的多个数据
这是一个例子
$。AJAX({ 键入: “GET”, 缓存:假的, 网址:“的welcome.php” data:{id:'id',name:'name'},//使用ajax发送的多个数据 成功:function(html){ $('#add')。val('data sent sent'); $( '#味精')HTML(HTML); } });
答案 2 :(得分:0)
您需要将name
移到字符串之外。要添加更多键值对,只需将它们附加到查询字符串:&amp; key = value
url: "http://www.example.co.uk/tell-a-friend-processor-page/?postname=<?php echo $post_name; ?>&name="+name+"&email="+email
答案 3 :(得分: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);
});