Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Odbieranie danych ajax
CPoDe
post 30.05.2013, 22:03:10
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.05.2013

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


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

Ten post edytował CPoDe 31.05.2013, 01:41:12
Go to the top of the page
+Quote Post
!*!
post 31.05.2013, 08:16:44
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


json-encode i dla jQuery getJson

Ten post edytował !*! 31.05.2013, 08:17:15


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
CPoDe
post 1.06.2013, 03:12:33
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.05.2013

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


Chodziło mi o response ;p Już sobie poradziłem, ale dzięki za odpowiedź wink.gif

Ten post edytował CPoDe 1.06.2013, 03:17:28
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 18.06.2025 - 12:58