jquery – 如何停止Chrome和Opera排序JSON对象的索引ASC?

前端之家收集整理的这篇文章主要介绍了jquery – 如何停止Chrome和Opera排序JSON对象的索引ASC?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题。

使用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.John,2.Frank和3.Sally。然而每个人都有一个hight属性集(和其他东西)。 1.John.180,2.Frank.220,3.Sally.150。为了节省处理,我请求人的结果按他们的高度排序,所以我得到一个2,1,3与其他属性的数组。我JSON这个数组,并将其发送到浏览器。

现在FF将保留新订单
人[1]仍然是约翰,但在一个For n作为人循环,他们将是无序的。

如果我不能解决这个问题,我只需要在sql阶段不打扰排序,并添加额外的循环和排序到JS阶段的数组,虽然我想避免更多的压力在浏览器,因为它已经是一个Js重页。

非常感谢

解决方法

有相同的问题,按照dmc的解决方案,但只是在int值前面添加一个空格,使其成为一个字符串。

使用空格而不是另一个非数字字符的优点是,后续的POSTed值可以直接在MysqL搜索子句中使用,而无需再次删除它。

猜你在找的jQuery相关文章