我遇到问题,我的应用在读取多个值时出现问题,当有两个值时,它返回零。
示例:
我明白了:
男性: { “名称”: “alexanderbb10”, “PIC”: “ICO / nopic.png”} { “名称”: “管理员”, “PIC”: “ICO / nopic.png”}
$.ajax({
type: "GET",
url: "http://p********************************/explore.php?usr="+******************+"&what="+strUser,
dataType: "json",
data: dataString,
success: function(data)
{
$('#explorediv').append('<div id="pic" data-bb-type="item" data-bb-img="' + data.pic + '" data-bb-title="' + data.name + '">' + data.name + '</div>').show('fast');
}
});
但它只显示一个结果。
如何确保显示所有结果?
服务器端是php
答案 0 :(得分:0)
在数组中包装两个对象
{male: [{"name":"alexanderbb10","pic":"ico/nopic.png"}, {"name":"admin","pic":"ico/nopic.png"}]}
var result = JSON.parse(xhr.responseText);
for (var i = 0, len = result.male.length; i < len; ++i) {
// result.male[i];
}
答案 1 :(得分:0)
你的JSON是无效的:
male: {"name":"alexanderbb10","pic":"ico/nopic.png"} {"name":"admin","pic":"ico/nopic.png"}
如果从ajax请求返回的数据是一个对象数组,比如
[
{"name":"alexanderbb10","pic":"ico/nopic.png"}
{"name":"admin","pic":"ico/nopic.png"}
]
为了显示数据的所有元素,必须包含所有数组元素,尝试改变成功函数如下:
function(data) {
for(var k in data){
$('#explorediv').append('<div id="pic" data-bb-type="item" data-bb-img="' + data[k].pic + '" data-bb-title="' + data.name + '">' + data[k].name + '</div>').show('fast');
}
}