Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery] [ajax] [utf8] Nieprawidłowy JSON
uirapuru
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 9
Dołączył: 30.04.2005

Ostrzeżenie: (0%)
-----


Hej!

Mam taki problem:
Jak w temacie - zwraca mi błąd. Przemianowałem już funkcję nawet na podstawową wersję $.ajax() ($.getJSON to alias dla $.ajax + $.parseJSON jak dobrze pamietam):

  1. $.ajax({
  2. type: "POST",
  3. url: "ajax.php?getAll",
  4. contentType: "application/json; charset=utf-8",
  5. dataType: "json",
  6. success: function(data) {
  7. $("select option").remove();
  8. $(data).each(function(index,item) {
  9. $("select").append("<option value=\""+index+"\">"+item.name+"</option>");
  10. });
  11. },
  12. error: function (XMLHttpRequest, textStatus, errorThrown) {
  13. alert(XMLHttpRequest.responseText);
  14. }
  15. });


Kod się ładnie przesyła (w Firebug widać), ale zamiast success: wykonuje się error: a w responseText to właśnie zawartość zwracana. Oto ona:
  1. [{"name":"rtyryrtyrtyrtyrtyrty","desc":"hrtey retyber e","dir":"60a5c2e031f46ded08e885112710cfcc"}]

1. Testowe środowisko to Zend Server + Windows XP (ponoć to może mieć znaczenie)
2. Ustawiłem na początku skrytpu ajax.php Header("Content-type: application/json")
3. Skrypt, który dostaję w wyniku wrzucam do JSON Validatora i pokazuje błąd. Wymieniam jedynie pierwszy nawias kwadratowy (zaznaczam go po prostu i wciskam guzik na klawiaturze z tym samym nawiasem) i JSON Validator twierdzi, że już kod jest poprawny.

WTF?questionmark.gif?

W edytorze szesnastkowym faktycznie odpowiedź zawiera niewidoczne znaki na początku (5 znaków o kodzie %3F). Po ich skasowaniu wszystko jest ok. Nie wiem tylko jak pozbyć się ich przy odpowiedzi ze skryptu PHP.

Pododawałem już gdzie mogłem kodowania (header z php, ajaxSetup dla jquery, meta w head strony, co jeszcze?) i wciąż dostaję Invalid JSON sad.gif

Ten post edytował uirapuru 19.06.2010, 14:39:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:22