这是我通过jquery,
获取ajax请求的成功函数success: function(response) {
if (response.error == undefined) {
alert(response);
}
$('#' + id).after('<div id="emailMsg" class="error">' + response.error + '</div>');
}
因为该值以未定义的形式返回,它会提醒我返回的JSON是......
{"error":true}
为什么会发生这种情况,当我调用response.error时,我应该得到真或假。
更新
变量以字符串形式返回,而不是布尔值,我的json_encode();
if (!$q -> rowCount()) {
echo json_encode(array('error' => false));
}
else {
echo json_encode(array('error' => true));
}
答案 0 :(得分:1)
您可能想尝试将dataType: 'json'
参数添加到$.ajax
来电。这将确保jQuery将负责将响应作为您的对象。
答案 1 :(得分:0)
您需要先将字符串中的JSON解析为JavaScript对象。
可以使用JSON.parse(response)
完成此操作。在没有本机JSON的旧浏览器中,eval(response)
也可以工作,但不太安全。