ajax请求之返回数据的顺序问题分析
本文实例分析了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($dataas$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程序设计有所帮助。