Ajax表单联系人(jquery)
Ajax form contact (jquery)
我有一个ajax联系人表单的问题。我有一个xmlhttprequest错误,但我不知道为什么。下面是我的代码:
<?php
if(isset($_POST)){
if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['date']) && !empty($_POST['message']))
{
$message = '
Quelqu''un vous a contacter pour une prestation : 'n:
Nom du client : '.$nom.''n
Email du client : '.$email.''n
Date de la préstation : '.$date.''n
Message : 'n
'.$message;
if(mail('my.email@gmail.com', 'Demande de préstation MonSite', $message))
{
$msg = "Votre message à bien été envoyé. Nous vous répondrons dès que possible";
}
else
{
$msg = "Impossible d'envoyer le message, merci de nous contacter via <em>admin@site.fr</em>";
}
echo $msg;
}
}
?>
这是我的js脚本:
var form = $("#contact-form");
form.submit(function(){
$(this).serialize();
var data = [];
data.email = $(this).find('input[name="email"]').val();
data.nom = $(this).find('input[name="nom"]').val();
data.date = $(this).find('input[name="date"]').val();
data.message = $(this).find('textarea[name="message"]').val();
$.ajax({
url: 'contact.php',
type: 'post',
data: {data},
success: function (msg) {
form.append('<div class="form-status">' + msg + '</div>');
},
error:function(jqXHR)
{
console.log(jqXHR);
}
});
return false;
});
我的邮件没有发送,也没有回复,你知道为什么吗?科迪亚
有几个错误
data
应该是一个具有键和值对的有效对象,您的不是:
data: {data:data},
//--key-^^^-^^^^----value
和this:
var data = [];
应该是一个对象而不是一个数组:
var data = {};
$(this).serialize();
没有赋值给任何变量。
我想ajax应该这样写:
var form = $("#contact-form");
form.submit(function(){
var data = {};
data.email = $(this).find('input[name="email"]').val();
data.nom = $(this).find('input[name="nom"]').val();
data.date = $(this).find('input[name="date"]').val();
data.message = $(this).find('textarea[name="message"]').val();
$.ajax({
url: 'contact.php',
type: 'post',
data: data, //because it is an object as you can see above | or just $(this).serialize(),
success: function (msg) {
form.append('<div class="form-status">' + msg + '</div>');
},
error:function(jqXHR){
console.log(jqXHR);
}
});
return false;
});
如果您创建数据对象,您应该在ajax中使用不带括号的数据对象。
data: data
如果你使用表单,你应该阻止默认的表单提交
form.submit(function(e){
e.preventdefault();
...
}
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- jquery.validator和一个页面上的两个联系人表单将在提交时验证空表单
- PHP&jQuery联系人表单错误
- 映射的联系人表单在Jquery-1.11中无法正常工作
- jQuery Content Switcher (无法使联系人表单在内部工作)
- 如何使用jQuery从html元素中选择电话号码和联系人
- 使用jquery和php验证联系人表单
- jQuery从链接切换联系人
- 通过jQuery重置联系人表单的问题
- jQuery Mobile,垂直导航条,就像iphone联系人的字母列表
- jQuery/PHP ajax联系人表单
- Ajax表单联系人(jquery)
- jQuery -将联系人表单替换为'感谢消息'
- 如何在灯箱(jquery)中加载联系人表单
- Javascript Jquery弹出式联系人表单-自动加载
- 使用 jquery get 导入 gmail 联系人时(“未捕获的类型错误:无法读取未定义的属性'0')
- JQuery Ajax联系人表单问题