我有一个相当简单的问题,但我只是无法找出我的帖子无法正常工作的原因。我过去做了很多,这就是为什么我不知道错误所在。请帮帮我,这是我的AJAX代码:
$(function() {
$("#btnSubmit").click(function(event) {
event.preventDefault();
var formData = $("formCI").serialize();
$.ajax({
type : "POST",
url : "formularioServer.php",
data : formData,
datatype : "json",
async : false
})
.done(function(data) {
if(data != "success"){
console.log(data);
} else {
alert("A ticket has been sent with your incident information to the CI-Hotline inbox");
window.location = "formulario.php";
console.log(data);
}
});
});
});
我的部分HTML:<form name="formCI" id="formCI" action="formularioServer.php" method="POST" enctype="multipart/form-data" accept-charset="utf-8">
<button type="submit" name="btSubmit" id="btnSubmit" class="btn btn-default">
在服务器端,POST总是出现错误消息:
<?php
if(!empty($_POST)) {
echo "success";
} else {
echo "failed";
}
?>
答案 0 :(得分:2)
var formData = $("formCI").serialize();
这应该是
var formData = $("#formCI").serialize();
通过其ID获取正确的表单。
此外,serialize
不会将数据转换为json,它只是将数据编码为提交字符串,因此您必须从AJAX调用中删除datatype : "json"
行。