本文实例分析了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程序设计有所帮助。
您可能感兴趣的文章:- jquery中的ajax如何返回结果而非回调方式即为同顺序执行
- Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
- Jquery $.ajax函数外的一段代码的执行顺序
- jquery中ajax函数执行顺序问题之如何设置同步
- 解析ajax事件的调用顺序
- Ajax执行顺序流程及回调问题分析
- jquery $.ajax各个事件执行顺序