本文實例分析了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各個事件執行順序