Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odbieranie danych ajax
Forum PHP.pl > Forum > XML, AJAX
CPoDe
W jaki sposób można odbierać dane z php przez ajax? Wysłałem sobie do serwer pewne dane metodą POST i chciałbym teraz otrzymać wyniki po wykonaniu kilku działań na tych danych.

PS.
Dodam przykład, aby lepiej zobrazować o co mi chodzi wink.gif

ajax:
  1. <script>
  2. var zsend = "zmie="+zmienna;
  3.  
  4. http_request = new XMLHttpRequest();
  5.  
  6. http_request.open('POST','exe.php', true);
  7. http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  8. http_request.setRequestHeader("Content-length", zsend.length);
  9. http_request.setRequestHeader("Connection", "close");
  10.  
  11. http_request.onreadystatechange = wynik;
  12. http_request.send(zsend);
  13.  
  14. function fwynki() {
  15. if(http_request.readyState == 4 && http_request.status == 200) {
  16. // CO TUTAJ?
  17. }
  18. }
  19. </script>



część html
  1. <input id="l" value="jakieś dane ;)" />


To jest jedynie przykład(poglądowo). W swoim skrypcie wysyłam więcej danych na których wykonuje pewne operacje za pośrednictwem PHP. Wszystko pięknie działa, skrypt wysyła dane ze zmiennej oraz prawidłowo są one przetwarzane po stronie serwera. Problem pojawia się gdy chce odebrać te zmienione dane i wykonać jakąś operacje w js. Próbowałem na wiele sposobów, ale nie mogę uzyskać dannych z inputu(bądź innego elementu).

Z tego co się orientuje to w sekcji oznaczonej przeze mnie komentarzem(//CO TUTAJ?) powinny pojawiać się wyniki odesłane z serwera i wydaje mi się iż tak też jest, ponieważ gdy wpisze:

  1. alert(http_request.responseText)


to zwróci mi kod strony(oczywiście część po stronie przeglądarki). Próbowałem w tym miejscu odwoływać się po przez wpisywanie id inputu(oraz innych elementów), ale niestety czasami coś docierało a innym nic nie było.
Zdziwiło mnie również iż po takim odwołaniu uzyskałem to co wpisałem ręcznie do kodu, natomiast nie uzyskałem wartości zmiennej, mimo iż była ona widoczna po wywołaniu responseText.

Przykład inputu który przechodził tylko w połowie:
  1. echo '<input id="l" value="jakieś dane ;)'.&zmienna'" />'


Po próbie odwołania się do tego w js wynikiem było:
"Jakieś Dane wink.gif"

Po wartosci zmiennej ani śladu, a co dziwniejsze na responseText widać ją gołym okiem. Natomiast jeszcze dziwniejsza rzecz zaczęła się dziać gdy wrzuciłem tą linijkę do wnętrza if PHP. W tym wypadku nie wyświetliło w ogóle żadnych danych z inputu ;( mimo iż przy responseText nadal były widzialne oO.


Prosiłbym o pomoc smile.gif
!*!
json-encode i dla jQuery getJson
CPoDe
Chodziło mi o response ;p Już sobie poradziłem, ale dzięki za odpowiedź wink.gif
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.