首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组返回[对象对象]而不是值?

数组返回[对象对象]而不是值?
EN

Stack Overflow用户
提问于 2012-04-06 20:23:54
回答 3查看 13.1K关注 0票数 1

可能重复: Json返回[ object ]而不是数组

我有一个数组,它包含一个子数组,通过POST请求将其拖到PHP文件中。问题是,我很难找到如何返回数组对象的值,更不用说迭代它了。

Javascript

代码语言:javascript
运行
复制
$.ajax({
    type: 'POST',
    url: 'php.php',
    data: 'id=testdata',
    dataType: 'json',
    cache: false,
    success: function(result) {
        alert(result[0]); // returns [Object object]
    },
});

我确信它正确地从PHP文件中抓取数组。

这是PHP文件

EN

回答 3

Stack Overflow用户

发布于 2012-04-06 20:33:54

在您的示例中,result是一个对象数组,因此result[0]是第一个对象。例如,要访问id,可以使用result[0]['id']。为了迭代对象数组,可以使用如下所示的for循环:

代码语言:javascript
运行
复制
for(var i=0, len = result.length; i<len; i++) {
    //write your code for each object in the results here
    var id = result[i]['id'];
}
票数 4
EN

Stack Overflow用户

发布于 2012-04-06 20:34:20

你必须在你的对象中注明,我的意思是.

代码语言:javascript
运行
复制
alert(result[0]['field_name']);

当您使用PHP从一个'id‘获取一些数据时,我可以建议您在查询mysql时使用下一个语法,

代码语言:javascript
运行
复制
echo json_encode(mysql_fetch_object(mysql_query('your_query')));

使用此语法,您将只得到一个对象,其中包含查询中的所有字段,因此警告如下:

代码语言:javascript
运行
复制
alert(result['field_name']);

希望这能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2012-04-06 20:30:42

您可以对其进行迭代,例如:

代码语言:javascript
运行
复制
$.each(result, function () {
    alert(this.name);   // or this.id, this.description, etc.
});

我建议使用像Firebug这样的工具,然后执行console.log(result);以获得更多的描述性输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10048845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档