繁体   English   中英

$ .ajax从php获得json_encode($ arr)之后的对象,但是如何在jQuery中获取键和值?

[英]$.ajax get an object after json_encode($arr) from php, but how to get key and value in jQuery?

1个

在PHP中:

$arr = array( 10=>"ten", 5=>"five", 2=>"two"); return json_encode($arr);

在JS中-$ .ajax():

success: function(data){ console.log(data);}

2

我在控制台中看到的是:

Object {2: "two", 5: "five", 10: "ten"}

我想使用for(var i=0; i< data.length,i++)但失败了。

最终它以这种方式工作: for(var i in data)

3

我的问题:为什么对数组排序? 我希望数组保持未排序状态。

有人帮我吗?

JSON不能表示稀疏数组,这就是您的数据将是的情况。
因此,您获得的是对象而不是数组,并且没有标准说对象属性必须以任何特定方式进行排序或根本不进行排序。
您可以尝试将数据分成2个数组

$arr = array( 'indecies'=>array(10,5,2), 'values'=>array("ten","five","two") ); 
return json_encode($arr);
for(var i=0; i< data.indecies.length,i++){
    // do something with
    //data.indecies[i]
    //data.values[i]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM