ajax请求数据,返回数据顺序问题

来源:互联网 发布:ubuntu增加存储空间 编辑:程序博客网 时间:2024/05/16 15:12
ajax请求一个url,php后端处理后,数组为如下格式:
$a = array( '-1'=> 10 ,'-3' => 2, '0' => '5' ,'-2' => 4);

然后使用php的asort函数对数组按照value进行升序排序后,如下:
$a = array('-3' => 2, '-2' => 4,'0' => '5', '-1'=> 10  );

前端ajax接收的返回值,仍然是无序的。
可能导致的原因为:因为键值是字符换,js对数据进行了重新排序处理

处理方案如下:
$i = 0;
 foreach ($data as $k => $v) {
     $tmp[$i]['data'] = $v;
     $tmp[$i]['key'] = $k;
     $i++;
 }
此时数据如下:
{
    "rows": [
        {
            "data": "2",
            "key": 0-3
        },
        {
            "data": "4",
            "key": -12
        },
        {
            "data": "5",
            "key": 0
        },
        {
            "data": "10",
            "key": -1
        }
    ]
}
ajax接收处理,数据正确。

0 0