[英]Send jQuery variable by mail
我有一个jQuery变量,其中包含HTML和表单中的值。 我想使用带有@mail
的单独php文件通过电子邮件发送它。
我正在尝试使用表单提交中的jQuery $.ajax
函数发送此变量,但是它没有将变量发送到php文件,因此,没有发送电子邮件。
这是我的代码
jQuery的:
$('form').submit(function(){
var foo = '<p>Some message</p>';
$.ajax({
url: '/send.php',
type: 'post',
data: {foo : foo},
success: function() {
alert('email sent!');
}
});
return false;
});
send.php:
<?php
$email_to = "XXX";
$email_from = "YYY";
$email_message = $_POST["foo"];
$email_subject = "[Email subject]";
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
我试图在send.php中echo
显foo变量并删除return false;
在jQuery中,但是变量似乎没有传递到文件,并且什么也没有显示。
我究竟做错了什么?
您的代码还可以! 我们假设您的PHP Web服务器正在运行,所以2个唯一可能的错误是:
url: '/send.php'
您确定send.php在您域的根目录中吗? 喜欢
http://localhost/send.php
第二种可能性是,您之前遇到过JavaScript致命错误,因此您的ajax行将永远不会被读取...
如何调试?
1-发布表单时页面是否刷新? 如果是,则存在先前的错误,可以防止返回false; 待阅读
2-您可以在大多数浏览器中按F12键来打开开发人员工具,在这种情况下,您需要的是“网络面板”:只需在此面板打开的情况下尝试代码,然后看那里发生了什么... 404错误代码表示“我找不到send.php!”。
该字段获取404,因为http://fiddle.jshell.net/send.php不存在。
试试这个为您工作。
<html>
<body>
<form method="post" class="mailform" onsubmit="return false;">
<input type="submit" value="submit"/>
</form>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).on('submit','form',function()
{
var foo = '<p>Some message</p>';
$.ajax({
url: 'send.php',
type: 'post',
data: {'foo' : foo},
success: function() {
alert('email sent!');
}
});
return false;
});
</script>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.