ajax请求之返回数据的顺序问题分析

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接收处理,数据正确。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wfywfp.html