我有一个包含子数组的数组,通过POST请求被拉到PHP文件。问题是,我很难找到如何返回数组对象的值,更不用说迭代了它。
的Javascript
$.ajax({
type: 'POST',
url: 'php.php',
data: 'id=testdata',
dataType: 'json',
cache: false,
success: function(result) {
alert(result[0]); // returns [Object object]
},
});
我确信它正在从PHP文件中正确地抓取数组。
这是the PHP file。
答案 0 :(得分:4)
在您的情况下,result
是一个对象数组,因此result[0]
是第一个对象。例如,要访问id
,您可以使用result[0]['id']
。为了遍历对象数组,您可以像这样使用for循环:
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'];
}
答案 1 :(得分:2)
你必须在你的对象中指定一个人来展示,我的意思是......
alert(result[0]['field_name']);
当你使用PHP从一个' id '获取一些数据时,我可以建议你在查询mysql时使用下一个语法,
echo json_encode(mysql_fetch_object(mysql_query('your_query')));
使用此语法,您将只获得一个包含查询中所有字段的对象,因此警报将为:
alert(result['field_name']);
我希望,这有帮助。
答案 2 :(得分:0)
您可以像:
一样迭代它$.each(result, function () {
alert(this.name); // or this.id, this.description, etc.
});
我建议使用Firebug等工具,然后执行console.log(result);
以获得更具描述性的输出。