我正在使用表单的validate插件。 我只想要一个没有刷新的联系表。我想这是可能的。
这是我的Javascript:
$().ready(function() {
// validate the comment form when it is submitted.
$("#actualForm").validate({
focusInvalid: false,
onkeyup: true,
rules: {
// simple rule, converted to {required:true}
name: "required",
comment: "required",
email: {
required: true,
email: true
},
},
submitHandler: function(form) {
var name = $('input[name="name"]').val();
var email = $('input[name="email"]').val();
var comment = $('input[name="comment"]').val();
var params = {
"name": name,
"email": email,
"comment": comment,
};
console.log(data);debugger;
$.ajax({
url: 'email.php',
data: params,
type: 'POST',
dataType: json,
success: function (data) {
if (data.status) {
//Give success log to user
} else {
//Do something
}
}
});
}
这是我的PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
$to = 'myemail';
$from = $email;
$subject = 'subject';
$body = "Hello Admin<br><br>
Name: <strong>$name</strong><br>
Email: $email<br>
Bericht: $comment<br>
";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "From: $from";
$ok = mail($to, $subject, $body, $headers);
if($ok)
echo '1';
else
echo '0';
?>
我也有一个invalidHandler,但是那件事情正在发挥作用,所以我觉得把它放在这里是没用的。
但我现在被困了几个小时,我希望有人可以帮我解决这个问题。
答案 0 :(得分:1)
您的代码在ajax函数中有一点错误
替换:
dataType: json,
by:
dataType: 'json',
没有'',json被认为是一个变量名,在你的情况下你想传递'json'作为一个值。
答案 1 :(得分:0)
我倾向于使用var_dump进行调试。
什么是var_dump($ _ POST);给你?
您是否在浏览器中获得了500个网络响应?
键入console.log(data);在你的成功功能中。这将为您提供如何解决问题的提示。