【发布时间】:2018-02-23 08:06:49
【问题描述】:
我已将接受的答案复制到问题How do I return a proper success/error message for JQuery .ajax() using PHP?
我的 PHP 脚本返回以下 json。标题正确:PHP 脚本输出中的Content-type: application/json 和json_encode():
{"success":"success"}
但是用于检查状态的 jquery 不起作用:
$.ajax({
type: "POST",
url: '/ajax/index',
data: $("#NewsletterSignup").serialize(),
success: function(data)
{
console.log(data);
if (data.success == 'success') {
console.log('successful');
} else if(data.errors){
console.log('error occurred');
}
}
});
所以我得到了初始的console.log(data),它给出了{"success":"success"}。但是它没有评估if...else if 条件。为什么?
jquery 版本是 1.12.3
【问题讨论】:
-
你没有在你的ajax代码中指定
dataType:"JSON" -
谢谢,已经解决了。
-
或将
header('Content-type: application/json;charset=UTF-8');添加到您的PHP文件中 -
@DarkBee 已经在那里了。问题在于我的 js 中缺少
dataType。 -
那你做错了,
Jquery.ajax能够猜出正确的数据类型