我有一个问题。
使用ajax,我使用以下命令发送了格式正确的JSON对象:
$.ajax({ type: "POST", url: SITE_URL+'/data.php', dataType: "json", data: { ajax: 1 }, success: function(data) { console.log(data); } });
但是,Opera和Chrome尽管接收到相同的对象,但它们以不正确的顺序打印出该对象,似乎它们都按ID号执行排序,而不是单独留下!
有没有办法停止这种自动排序?
编辑,发现它是按索引号排序后,我在想最好的方法可能是不使用索引来存储object_id,而是存储要用于排序对象的ID号。
但是,我仍然想知道是否有一种方法可以停止排序。
谢谢
Edit2,我只想指出,我将以另一种方式来执行此操作,因为我感觉自己正在使用此方法滥用对象。但是,我仍然想了解为什么Opera和Chrome认为更改对象ID的顺序是他们的权利:
问题是我试图节省处理能力,可以说我们有ID的人,
1.约翰2.弗兰克3.莎莉 然而,这些人每个人都有很高的财产(和其他东西)。1.约翰180,2.弗兰克220,3.萨莉150。为了节省处理时间,我要求按人的身高对人的结果进行排序,以便获得具有其他属性的2、1、3数组。我对该数组进行JSON并将其发送到浏览器。
现在,FF将保持新的顺序People [1]仍将是John,但在For n作为人员循环中,它们将处于混乱状态。
如果我不能解决这个问题,我只需要不必在SQL阶段进行排序,而不必在JS阶段添加额外的循环和排序到数组中,尽管我想避免给浏览器带来更多压力,因为它已经是Js了页。
非常感谢
不同的浏览器以不同的方式处理对象,我的错是尝试使用构建对象的顺序作为我不应该引用的地方。