本文實例分析了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程序設計有所幫助。