我下面有这段代码:
$.ajax({
url: url,
type: "POST",
crossDomain: true,
headers: headers,
//async: false,
jsonpCallback: 'jsonpCallback',
dataType: 'json',
//cache: false,
//data: formData,
encode: true
}).success(function (data) {
//data = data.substring(5, 5000);
//myObj = $.parseJSON(data);
console.log("Data coming back from the server: ", data);
if (data === 0) {
$('.success').fadeIn(1000);
//Reset form after success
$("#contact-form")[0].reset();
$('.error').fadeOut(500);
} else {
$('.error').fadeIn(1000);
$("#contact-form")[0].reset();
$('.success').fadeOut(500);
}
//clear all fields
$('#contact-form').trigger("reset");
}).error(function (e, textStatus, xhr) {
console.log("ERROR: ", e);
console.log("Status: ", textStatus);
console.log("JQXHR: ", xhr);
}).done(function (data, textStatus, xhr) {
//Reset formData
formData = {
"f": null,
"e": null,
"p": null,
"m": null,
"b": null,
"d": null,
"i": null
};
console.log('AJAX COMPLETE', data, textStatus, xhr);
});
一切都很好,但是它直接进入.ERROR()而不是.SUCCESS,而是形式为“ IS”的成功,状态为200,文本为OK。
我要弄清楚的是,这可能真的很简单,这就是为什么它没有进入SUCCESS函数并进入ERROR FUNCTION的原因,而当我收到发送完美的电子邮件时却显示为“ SUCCESSFUL”。
>谢谢。
代码中的这个要点,当我踏进...
已绕过.success,数据未定义,现在位于.error行
}).success(function (data) {
//data = data.substring(5, 5000);
//myObj = $.parseJSON(data);
console.log("Data coming back from the server: ", data);
if (data === 0) {
$('.success').fadeIn(1000);
//Reset form after success
$("#contact-form")[0].reset();
$('.error').fadeOut(500);
} else {
$('.error').fadeIn(1000);
$("#contact-form")[0].reset();
$('.success').fadeOut(500);
}
//clear all fields
$('#contact-form').trigger("reset");
}).error(function (e, textStatus, xhr) { <- CODE IS HERE and then goes in
console.log("ERROR: ", e);
console.log("Status: ", textStatus);
console.log("JQXHR: ", xhr);
**//textStatus = OK
//response = 200**
}).done(function (data, textStatus, xhr) {
答案 0 :(得分:-1)
我有评论,所以我可以看到PHP和POOF中出现了什么!当我将它们注释掉时,PARSEERROR告诉了我所需的信息,一切正常!但是是的,夏利菲(Charlieffi)和乔莫迪克(Jmoerdyk)你都是正确的。我也删除了JSONPCALLBACK。将您的声明移至合并的解决方案中,我将其投票为对,并对其+1。