【发布时间】:2015-11-29 21:11:11
【问题描述】:
我的 ajax 无法正常工作。我有一个表单,我通过 ajax 提交到我的 php 文件,以更新我的数据库。它正在正确更新数据库,但是我的 ajax 一定有问题。问题是它总是调用我的 .fail 函数,即使成功并且它没有重置输入字段的值。请看:
$(".myForm").submit(function(e) {
e.preventDefault();
var url = "myurl.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize()
}).done(function() {
alert("Success");
$('#email').value='';
}).fail(function() {
alert("Fail!");
});
});
它给了我一个失败警报,但我的数据库正在更新。我做错什么了?
编辑: 我的 php 正在返回一个结果,我像这样编辑了我的代码。 我的 ajax 现在看起来像这样,但我仍然遇到同样的错误
$(".myForm").submit(function(e) {
e.preventDefault();
var url = "http://fullyawaken.com/website/database/updatedatabase.php";
$.ajax({
type: "POST",
url: url,
data: $(this).serialize(),
statusCode: {
200: function(){
alert("Success!");
$('#email').val("");
}
}
}).fail(function() {
$('#email').val("");
alert("Fail!");
});
});
【问题讨论】:
-
jquery 中的错误导致状态 201 创建错误。使用 statusCode: 而不是 done:
-
你是从服务器返回任何东西,还是只是超时而失败
-
另外
$('#email').value=''是一个错误 -
sorry url 应该是 url;打错了;那不是问题。现在改正
-
他可能发布到当前网址
标签: javascript php jquery ajax forms