我使用jQuery构建了一个Ajax请求 - 在PHP文件的末尾,调用 - 结果是一个数组:
echo json_encode(array('status' => 'true'));
在调用文件中的jQuery中,我想读一下status
是否为true
并尝试使用它:
$.ajax({
type: "GET",
url: "logic.php",
data: "receiver=" + receiverIds + "&subject=" + subject + "&msg=" + msg,
success: function(data){
$.each(data, function (i, elem) {
alert(elem.status);
});
}
});
但警报始终为undefined
。当我在$.each
:
$("#additionalTextDiv").html(data);
我得到以下结果:{"status":"true"}
但为什么每个功能都不能正常工作?
谢谢!
答案 0 :(得分:3)
将您在AJAX调用中设置的options对象的dataType
属性更改为json
,以便将JSON字符串解析为JavaScript对象:
$.ajax({
type: "GET",
url: "logic.php",
dataType: 'json',
...
.ajax()
:http://api.jquery.com/jquery.ajax
您的$.each()
循环工作正常,这是演示:http://jsfiddle.net/54pB9/
但是,如果要循环浏览大量记录,for
循环的执行速度会更快:
for (var i = 0, len = data.length; i < len; i++) {
alert(data[i].status);
}