您好,我正在尝试使用jQuery .ajax()方法创建一个简单的php电子邮件表单而不需要页面刷新,但是我希望在发送电子邮件之后重置所有字段并且此刻这不是出于某种原因!
这是我的jQuery:
$.ajax({
url:"http://www.mysite.co.uk/contactMe.php",
data: {'email': email,'content': content},
success: function(response){
$("#mailContent").css({ 'box-shadow': ''});
$("#email").css({'box-shadow': ''});
$("#email").val('');
$("#mailContent").val('');
alert("DONE");
return false;
}
})
这是我的php
<?php
function spamcheck($field)
{
//filter_var() sanitizes the e-mail
//address using FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() validates the e-mail
//address using FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
$email = $_GET['email'];
$content = $_GET['content'];
$mailcheck = spamcheck($email);
if ($mailcheck==FALSE)
{
}
else
{//send email
mail("myemail@googlemail.com", "Subject: Website Contact Form",
$content, "From: $email" );
}
?>
请注意我已经更改了网址和电子邮件地址以保护隐私,因为我在收件箱中收到电子邮件时发送的电子邮件正常。我也尝试使用相同的东西:
.ajax().done(function{})
并且也没有运气,最糟糕的是,当我使用.ajax()创建评论系统时,我在其他网站上使用它的工作正常,但它拒绝工作在这个网站上! :/
你很沮丧,西蒙。
编辑:表格:
<form name="contact"> Email: <input name="email" type="text" id="email" ><br>
Message:<br> <textarea name="message" rows="20" cols="246" id="mailContent"></textarea><br>
<input class="button" value=""> </form>
答案 0 :(得分:0)
您不能将ajax用于POST
跨域(请参阅CORS了解具体信息);出于安全原因,浏览器会阻止您将您(以及您的数据)带到阴暗的网站,而不会注意到它。
如果您发布的脚本位于同一服务器上,则应删除域名并使用相对于网站根目录的路径:
url:"/contactMe.php"