本文实例分析了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接收处理,数据正确。
希望本文所述对大家ajax程序设计有所帮助。