![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hejka, mam taki kod js:
Kod $.ajax({ url: 'testjs.php', dataType : 'json', success: function( data ) { for (var i in data) alert(i); } }); Kod ten pobiera ajaxem dane z testjs.php w formacie json, a następnie wyświetla w ten sposób uzyskane dane testjs.php:
Jak widzicie, skrypt generuje tablice o indeksach w kolejności 3,2,1. Niestety przeglądarka Chrome oraz Opera przy konwersji json, sortuje dane i są one już w kolejności 1,2,3 Firefox nie sortuje danych. Oczywiście zależy mi, by dane w JSON w przeglądarce były w takiej kolejności, w jakiej je zapodaje. Czy to bug przeglądarek, czy normalne zachowanie dla JSON i muszę inaczej to obejść? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Dla JSON-a nie sądzę. Dla chrome i opery jak widać tak.
Nie da się tego obejść. To po prostu element głupoty przeglądarek. W skrócie - witaj w świecie śmieciowego JS. Albo pobawisz się w coś takiego...
albo zamiast obiektu użyjesz tablicy - niestety stracisz klucze -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Z tego co wylukałem to rozwiązaniem jest zamienie indeksów na teksty:
$ar = array('c3'=>'bla','c2'=>'ola','c1'=>'costam'); Wówczas opera i chrome nie sortują danych. Innym rozwiązaniem jest sortowanie danych w js. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
To nic nie dało. Próbowałem.
Kod $.parseJSON('{"3":"bla","2":"ola","1":"costam"}');
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie, nie....
![]() nie "3" a: "c3" lub: "dowolnytekst3" -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wybacz, niezauważyłem ;(
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wookieb Twoje rozwiązanie w pierszym poście też jest prawidłowe. Dobiero dzisiaj je przemyślałem na trzeźwo
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:17 |