У меня проблема.
Используя 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, а вместо этого сохранить номер идентификатора, по которому я хочу упорядочить объект.
Однако я все же хотел бы знать, есть ли способ остановить сортировку.
Спасибо
Edit2, я просто хотел бы отметить, что я собираюсь работать над другим способом сделать это, так как я чувствую, что я злоупотребляю объектами с помощью этого метода. Однако я все еще хотел бы понять, почему Opera и Chrome считают, что они имеют право изменять порядок идентификаторов моих объектов:
Проблема заключается в том, что я пытаюсь сэкономить вычислительную мощность, скажем, у нас есть люди с ID,
1.Джон, 2.Франк и 3.Салли. Однако у каждого из этих людей есть набор свойств высоты (и другие вещи). 1.Дж.180, 2.Франк.220, 3.Салли.150. Чтобы сэкономить на обработке, я запрашиваю, чтобы результаты людей сортировались по их росту, поэтому я получаю массив 2, 1, 3 с другими их свойствами. Я JSON этот массив и отправить его в браузер.
Теперь FF сохранит новый порядок
Люди [1] все равно были бы Джоном, но в цикле For n как человек они будут не в порядке.
Если я не смогу обойти это, мне просто не нужно будет заниматься сортировкой на этапе SQL и добавить дополнительные циклы и сортировку в массив на этапе JS, хотя я хотел избежать большей нагрузки на браузер, так как это уже тяжелая страница Js.
Большое спасибо