XmlHttpRequest POST - wysyłanie obiektów i kolekcji

0

Witam

Wiem jak wysyłać przez XmlHttpRequest GET i POST - jednak jedynie proste obiekty w postaci:

klucz - wartosc

Składam to sobie do zapytania (&klucz=wartosc&klucz2=wartosc2&...)

Jednak jak mogę wysłać metodą POST dowolny obiekt z Javascript? (obiekt może mieć w sobie inny obiekt, a w nim kolejne pola, kolekcje ..).

Czy to jest w ogóle możliwe? Poszukiwania na google niestety nie dały rezultatów.

0

Możesz wysłać metodą POST zakodowany obiekt w formie JSON.

np.

var obiekt_js = {
   liczba: 100, b: { lista: [], "obiekt-w-obiekcie": { tu_tylko_jeden_klucz: "pewna wartosc" }  };
}
xhr.send("obiektJSON=" + encodeURIComponent(json_encode(obiekt_js));
A po stronie serwera ( np. php ):

$obiekt_json = json_decode($_POST['obiekt_json']);
$wartosc = $obiekt_json['b']['obiekt-w-obiekcie']['tu_tylko_jeden_klucz'];

// itd.


Do przekształcania obiektów w JSON po stronie JavaScript musisz znaleźć odpowiednią funkcję, natomiast w php już jest natywnie :)
0

tak jak napisał kubarek - tworzysz dowolny obiekt, serializujesz go i wysylasz prze xHTTP~

polecam ci skorzystanie po stronie klienta z biblioteki jquery, a stanie sie to jeszcze prostsze

1 użytkowników online, w tym zalogowanych: 0, gości: 1