Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetla NULL / JSON
Forum PHP.pl > Forum > XML, AJAX > AJAX
GoldeNx3
Witam, mam taki kod:

  1. $(function(){
  2. $('input#przycisk').click(function(){
  3. var nick = $("input[name=login]").val();
  4. var pw = $("input[name=haslo]").val();
  5.  
  6. $.ajax({
  7. type: "POST",
  8. url: "sprawdz.php",
  9. dataType : 'json',
  10. data: {
  11. nick : nick,
  12. pw : pw,
  13. },
  14. success : function(json) {
  15. alert(json['info1']);
  16. }
  17. });
  18. });
  19. });


oraz plik sprawdz.php:

  1. $tablica['info1'] = 'Bardzo długi tekst GRGRGRRGRGRGRGG!';
  2. echo json_encode($tablica);


Problem polega na tym, że zamiast w alercie wyświetlić 'Bardzo długi tekst GRGRGRRGRGRGRGG!' wuświetla 'null', dlaczego? Jak dam krótki tekst, np. 'test' to wyświetli bez przeszkód.
PrinceOfPersia
1. a jakbyś napisał bez polskich znaków
Bardzo dlugi tekst GRGRGRRGRGRGRGG!
tak samo by było?

2. a debugowałeś to w ogóle? W sensie co wyświetla sprawdz.php w postaci surowej? Np. jak wpiszesz adres tego pliku w przeglądarce i zapiszesz na dysku,
GoldeNx3
Coś zrobiłem i już mam wszystko naprawione, wszystko się fajnie wyświetla, nie wiem dlaczego, ale niech tak zostanie, dzięki! smile.gif
wizarts
Szkoda, że nie wiesz co naprawiłeś bo mam też kłopot z wartością zwracaną z php do ajaxa sad.gif

wywołanie funkcji po stronie javascriptu wygląda jak poniżej:

  1. $.ajax({type: "POST",
  2. url: "sprawdz.php",
  3. data: data,
  4. datatype: 'json',
  5. success: function(jsonRet){
  6. alert(jsonRet['errorMsg']);
  7. }
  8. });
  9. }


php:

  1. ...
  2. <?php
  3. $retArray['errorCode'] = $return;
  4. echo json_encode($retArray);
  5. ?>


Firebug pokazuje mi taką wartość:

"{"errorCode":"1"}"

a w okienku, które wyświetla javascript pokazuje się undefined

Edyta:

Tak czułem, że to nie jest json tylko zwykły tekst :-).
Temat załatwia:

  1. header('Content-Type: application/json');
  2. echo json_encode($retArray);

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.