不能让一个简单的Ajax工作
Can't make a simple Ajax working
我想使用带有ajax调用和PHP的Jquery构建一个简单的联系表单。但它不起作用,我看不出为什么。您可以认为 id 或类名没有错误。
我的爪哒语
jQuery('#contacter').click(function () {
var postdata = $('.contact-form form').serialize();
$.ajax({
type: 'POST',
url: 'contact.php',
data: postdata,
success: function () {
$('.contact-form form').fadeOut('fast', function () {
$('.contact-form').append('<p>Thanks for contacting us! We will get back to you very soon.</p>');
});
}
});
});
我的菲律宾比索
<?php
// Enter the email where you want to receive the message
$emailTo = 'example@gmail.com';
$clientEmail = addslashes(trim($_POST['email']));
$subject = addslashes(trim($_POST['subject']));
$message = addslashes(trim($_POST['message']));
$antispam = addslashes(trim($_POST['antispam']));
$headers = "From: " . $clientEmail . " <" . $clientEmail . ">" . "'r'n" . "Reply-To: " . $clientEmail;
mail($emailTo, $subject , $message, $headers);
?>
我的网站刷新时未发送邮件。我已经用一个简单的mail()测试了我的服务器,它工作正常:服务器端没有问题。
在我看来
,问题是提交表单时会发生回发。当您在按钮上使用click
事件(假设)时,其默认行为是提交表单,这会导致回发。
由于您使用 ajax 将值提交到后端,因此您需要使用 event.preventDefault()
来停止表单提交/默认行为。
您必须通过以下方式停止事件event.preventDefault()
:
jQuery('#contacter').click(function (e) { // <-----pass e for event here
e.preventDefault(); // and stop it here
如果您正在使用form
元素,那么最好使用submit
事件:
jQuery('.contact-form form').submit(function(e) { // e in the args
e.preventDefault(); // stop the submission here.
var postdata = $(this).serialize();
$.ajax({
type: 'POST',
url: 'contact.php',
data: postdata,
success: function() {
$('.contact-form form').fadeOut('fast', function() {
$('.contact-form').append('<p>Thanks for contacting us! We will get back to you very soon.</p>');
});
}
});
});
相关文章:
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 带有间隔的简单ajax请求
- 为什么对php的简单ajax调用会表现出如此奇怪的行为
- 简单的ajax/尝试替换数字
- AJAX-没有得到简单的php响应(返回“undefined”)
- 简单的Ajax请求,在React.js中循环数据
- 使用AJAX读取一个简单的文本文件.打开函数时出现拒绝访问错误
- 简单的PHP到Ajax'未登录'错误-如何
- 用于基本 html 站点的简单 ajax 函数
- 在 jsp 中使用简单 ajax 时出现问题 - 内容填充然后消失
- 简单 Ajax 加载页面的计时器
- Symfony2中的简单AJAX请求和响应
- 简单AJAX函数问题:服务器如何自动接收来自客户端的消息
- 简单ajax与:remote =>在Ruby on Rails中
- 在asp.net mvc中对控制器进行简单Ajax调用
- 使用javascript的简单ajax表单没有jQuery
- AngularJS组织简单Ajax程序
- Coffeescription中的简单Ajax请求
- 简单ajax GET请求的问题
- rails中的简单ajax