![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 1 Dołączył: 23.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chcę przekazać tablicę z php do js
Tablica jest zapisywana w pętli : Kod .... $_SESSION['tabOne'][]=$_FILES['polePrzekaznika']['name'][$j]; ... następnie zamieniam ją na obiekt JSON: Kod $objJSON=array(); $objJSON=json_encode($_SESSION['tabOne']); kolejny krok to zamiana w stworzonym ciągu znaku ' na " . Zmiana następuję ponieważ doczytałem się że objekt JSON w PHP od tego samego obiektu w JS różni się formą zapisu. Kod $objJSONConvert=str_replace("\"","'",$objJSON); w kolejnym kroku wywołuje między innymi funkcje JS do której ma być przekazana tablica. Kod echo'<script type="text/javascript">document.getElementById(\'information\').innerHTML=\''.$inf.' \';wstawInfo('.$objJSONConvert.')</script>'; W funkcji JS wykonuje: Kod function wstawInfo(tabOneJS) { var tOJS=JSON.parse(tabOneJS); ..... } i właśnie tu wyrzuca mi błąd: Błąd: JSON.parse: unexpected character Co wykonuje źle? Proszę o wskazówki. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 105 Pomógł: 27 Dołączył: 30.10.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Twoj str_replace zamienia " na '.
-------------------- Mój Blog Militarny: http://1rBlog.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 1 Dołączył: 23.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Źle opisałem. Czy tak czy tak błąd jest ten sam :-(
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 105 Pomógł: 27 Dołączył: 30.10.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz w zrodle strony jak wyglada JSON wrzucony przez PHP, obejmij go cudzyslowami:
-------------------- Mój Blog Militarny: http://1rBlog.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 1 Dołączył: 23.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Przy jednym elemencie w tablicy:
["nazwa.jpg"] po wstawieniu w cudzysłów: Kod echo'<script type="text/javascript">document.getElementById(\'information\').innerHTML=\''.$inf.' \';wstawInfo("'.$objJSONConvert.'");</script>'; otrzymuje błąd : Błąd: missing ) after argument list Kod źródłowy: document.getElementById('information').innerHTML='ładowanie zostało zakończone ';wstawInfo("["IMG_5796.JPG"]"); |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 105 Pomógł: 27 Dołączył: 30.10.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
W JSON sa cudzyslowy, wiec obejmij go apostrofami:
-------------------- Mój Blog Militarny: http://1rBlog.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 1 Dołączył: 23.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc.Tylko nie wiem dlaczego w ten sposób.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 105 Pomógł: 27 Dołączył: 30.10.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jako parametr funkcji podajesz string, wiec musi byc on w cudzyslowach lub apostrofach. Bez tego JS potraktuje parametr jak zmienna:
Dopiero JSON.parse robi z tego strina obiekt. -------------------- Mój Blog Militarny: http://1rBlog.pl
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
A ja zapytam po co kombinować? Sam json_encode generuje ładny JSON trawiony bez str_replace w JS ;]
-------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nic nie trzeba zmieniać. PHP generuje zgodny ze standardami JSON. Jeżeli pozmieniasz cudzysłowy na apostrofy to uzyskasz błędny JSON (np. jQuery odrzuca kod z apostrofami).
Swoją drogą - nie wiem skąd ci przyszedł do głowy tak absurdalny pomysł, że niby funkcje dostarczane z PHP mogą działać błędnie... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:00 |