![]() |
![]() |
![]()
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ść? |
|
|
![]() |
![]()
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. |
|
|
![]()
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 ![]() |
|
|
|
![]()
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 (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 15:33 |