json读取多行作为新行

时间:2013-12-04 12:35:16

标签: javascript php json

我遇到问题,我的应用在读取多个值时出现问题,当有两个值时,它返回零。

示例:

我明白了:

男性: { “名称”: “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

2 个答案:

答案 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');
    }
}