我正在尝试使用下面的jQuery进行ajax调用。
但是我可以在Chrome中看到,我正在获取未被捕获的类型错误无法读取属性'错误'的null。所以这会阻止课程('成功')被添加。知道为什么这样做吗?我是否需要声明'错误'??
function submitForm(formData) {
$.ajax({
type: 'POST',
url: 'mailer.php',
data: formData,
dataType: 'json',
cache: false,
timeout: 7000,
success: function(data) {
$("form #form_ajax").removeClass().addClass((data.error === true) ? "error" : "success")
.html(data.msg).fadeIn('fast');
if ($('form #form_ajax').hasClass('success')) {
setTimeout("$('form #form_ajax').fadeOut('fast')", 5000);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$('form #form_ajax').removeClass().addClass('error')
.html('<p>There was an ' + errorThrown + 'error due to a ' + textStatus + ' condition.</p>').fadeIn('fast');
},
complete: function(XMLHttpRequest, status) {
$('form')[0].reset();
}
});
};
...谢谢
答案 0 :(得分:2)
data
是null
,可能是因为您的服务器没有发送任何JSON。
答案 1 :(得分:1)
将您的代码编辑为:
success: function(data) {
if ( data.error) alert(data.error);
alert(data);
$("form #form_ajax").rem...
告诉我警告信息(theres 2)
编辑:没有任何意义:执行此操作: