Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX][JavaScript]AJAX i JSON
Forum PHP.pl > Forum > Przedszkole
fiasko
Generalnie z tego co wyczytałem wiem tyle, że JSON służy do tego aby przekazywać dane w formacie tekstowym pomiędzy skryptami np. w Ajax.


Moje pytanie brzmi jak tego używać ? Głównie chodzi mi o to aby nie stosować InnerXML tylko wysyłać dane tekstem.

Tak więc dwa pytania :

Jak tworzyć dane w JSON po stronie plików php w celu wysłania potem ich w ajax ?

Jak odbierać te dane i operować na nich jak np. na tablicach wielowymiarowych ?

Proszę o proste przykłady przy wykorzystaniu w poniższym skrypcie . Głównie chiałbym wiedzieć jak odwoływać się od razu do poszczegulnych elementów w kodzie.


Kod
$.ajax({
    type: 'POST',
      url: 'plik.php',
      data: 'data='+10,
      success: function(msg){
    
// tu odbieram dane w JSON z msg
    }


plik.php
Kod
<?
// 10 zmiennych wysłanych przez ajax w formacie JSON

?>
wNogachSpisz
  1.  
  2. echo json_encode(array(
  3. 'a' => 1,
  4. 'b' => 2,
  5. ));
  6.  
fiasko
A jak odebrać dane po stronie js ?
wNogachSpisz
jesli uzywasz jquery to w 3cim parametrze funkcji .get i .post masz typ danych: html/text/json
domyślnie chyba jest json.

W drugim parametrze dajesz funkcje która uruchamiona zostaje gdy javascript odbierze odpowiedź serwera, coś w stylu:

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var handler = function(data) {
  3. alert(data.a)
  4. alert(data.b)
  5.  
  6. for ( var key in data ) {
  7. alert( key + ':' + data[key] )
  8. }
  9. }
  10.  
[JAVASCRIPT] pobierz, plaintext
fiasko
Nie bardzo rozumiem gdzie mam definiować typ danych html/text/json ? Dla pewności .

Kod
$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success
  dataType: dataType   // - html/text/json  - tu ?
Rymar
http://api.jquery.com/jQuery.ajax/ - masz masę przykładów

Co do JSON, to zobacz na http://api.jquery.com/jQuery.parseJSON/
wNogachSpisz
zamiast pytac szybciej by Ci było sprawdzić, jest manual jquery
tak, tam..
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-2025 Invision Power Services, Inc.