用 js 原生写的 ajax ,获取到一个数据列表,顺序是正常的
xmlHttp.responseText 这里的顺序是正常的
但是当我将 json 字符串转换为 json 对象的时候,顺序就不是原先的顺序了
var json = eval('(' + xmlHttp.responseText + ')');
请问有啥办法转换完之后还是原先输出的顺序。
1
QAPTEAWH 2017-04-18 14:09:48 +08:00
object 不保证顺序,请使用 array
|
2
xss 2017-04-18 14:09:49 +08:00
hash 表本身就是无序的. 你如果想有序, 再加个数组记录你想输出的 key 顺序吧.
|
3
littleylv 2017-04-18 14:13:05 +08:00
ajax 的参数加一个 type: 'json'
服务端数据返回 json 这样 ajax 的结果不用人为的再转 json 试试看 |
4
littleylv 2017-04-18 14:13:57 +08:00
#3 修正 是 dataType: 'json'
|
5
dashixionglihai OP 问题已经解决了,是我的后台返回的数据存在问题,我把 id 当作了 key ,转换的时候按照 id 从小到大的顺序排列了。
|