我正在尝试获得Ajax响应。但是我的代码没有显示任何警报。这是我的ajax代码。我的表单ID为 contact_form ,提交按钮ID为 submit_btn
$(document).ready(function(){
$('#contact_form').on('submit', function(e){
var form= $("#contact_form").val();
$.ajax({
type : 'POST',
url : 'email.php',
data : form.serialize(),
dataType : 'json',
success: function (response) {
alert(response);
},
error: function(jqXHR, textStatus, errorThrown) {
//console.log(textStatus, errorThrown);
}
});
e.preventDefault();
});
});
我的email.php
<?php
echo "ok";
?>
答案 0 :(得分:0)
我认为您的问题是因为您试图以错误的方式使用serialize方法。
.serialize()
方法将处理所选目标表单内的所有字段。在原始代码中,您已经使用.val()
方法来获取表单的值,但这将不起作用,因为该方法旨在用于单个表单元素,并且无法处理整个表单。
以这种方式更改代码:
$(document).ready(function(){
$('#contact_form').on('submit', function(e){
e.preventDefault();
var form = $("#contact_form");
$.ajax({
type : 'POST',
url : 'email.php',
data : form.serialize(),
success: function (response) {
alert(response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
});
});