Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript] XMLHttpRequest przekazanie zmiennej do PHP
Forum PHP.pl > Forum > Przedszkole
adi456
Witam

w ten sposób wczytuje kawałek treści do strony

  1. var object = false;
  2. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  3. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  4.  
  5. function getData()
  6. {
  7. if (object.readyState==4 || object.readyState==0)
  8. {
  9. var obj = document.getElementById('statuspcmarket');
  10. object.open("POST", 'tresc.php');
  11.  
  12. object.onreadystatechange = function()
  13. {
  14. if (object.readyState == 4 && object.status == 200)
  15. obj.innerHTML= object.responseText;
  16. }
  17. object.send(null);
  18. }
  19. }
  20.  
  21. function poka()
  22. {
  23. getData();
  24. setTimeout("poka()", 30000);
  25. }


i wyświetla mi się echo z pliku tresc.php, jak przekazać zmienną PHP z tego pliku np:

  1. echo 'tresc wyswietlana na stronie';
  2. $zmienna='Zmienna do przekazania';


próbowałem wiele sposobów, ale tresc jest wczytywana przez js dlatego nie wiem jak przekazać tą zmienną, nawet jak włącze podgląd kodu zródłowego strony to nie ma tego 'tresc wyswietlana na stronie', pomoże ktoś?
erix
Google: JSON + AJAX?
adi456
kupa czytania i kombinacji, gdyby było mi to niezbędne pewnie zabrał bym sie do studiowania, ale moge to ominąć przepisująć kod php z tego pliku do wyświetlanego pliku, myślałem że jest łatwy sposób na to bo nie chciałem żeby ten sam kod powtarzał sie w 2 plikach, troche głupie no ale łatwe.
CuteOne
  1.  
  2. $array = array('jestes', 'leniwy', 'i', 'robisz', 'podwojna', 'robote', 'myslac,', 'ze', 'idziesz', 'na', 'latwizne');
  3.  
  4. echo json_encode($array);
webdice
Cytat(adi456 @ 27.07.2012, 13:34:13 ) *
kupa czytania i kombinacji, gdyby było mi to niezbędne pewnie zabrał bym sie do studiowania, ale moge to ominąć przepisująć kod php z tego pliku do wyświetlanego pliku, myślałem że jest łatwy sposób na to bo nie chciałem żeby ten sam kod powtarzał sie w 2 plikach, troche głupie no ale łatwe.


Dlaczego inni mają poświęcać czas i pieniądze na naukę, a Ty masz dostać to za darmo? Nie chcesz się uczyć, to zleć to komuś.
adi456
nie chodzi o gotowe rozwiązanie tylko o podpowiedzi, mecze sie z tym json_encode, dużo poczytałem i dalej nie rozumiem jak to zastosować i do czego mi to potrzebne

z wypowiedzi "CuteOne" wnioskuje że to:
  1. $array = array('jestes', 'leniwy', 'i', 'robisz', 'podwojna', 'robote', 'myslac,', 'ze', 'idziesz', 'na', 'latwizne');
  2. echo json_encode($array);


mam wkleić do pliku tresc.php, no więc tak robie i nie rozumiem jak mi to ma pomóc, przecież tablica się wyświetli a ja chce złapać zmienną $zmienna do PHP

próbowałem przesłać przez formularz zmienną, ale nie chce sie wczytywać
  1. document.test.inputzezmienna.value = '<?echo $zmienna;?>';

webdice
Czego nie rozumiesz? Jak stworzyć z tekstu/zmiennej obiekt JSON i jak go odczytać w JavaScript?
adi456
dokładnie próbowałem na wszystkie sposoby i nie wiem co i jak
adi456
może podpowiesz gdzie dokładnie szukać, przepatrzyłem wszystkie linki z 1 strony...
czy da sie wodule odczytać zmienną do php ze strony która generuje się po stronie przeglądarki?

no bo niby tresc.php to php ale wczytywane przez js poprzez XMLHttpRequest, nie widze tu żadnej logiki.

może ten json_encode to poprostu jakaś odmiana include w php? includując ten plik wyświetli mi się to co jest w echo, no ale zdobede zmienną, ale dobra myśl pokombinuje z warunkiem przy echo i będe includować ten plik, js i tym podobne nie są dla mnie, używam z konieczności. wole PHP!
erix
Na pierwszej stronie masz przykład jak byk.... :C
CuteOne
wolisz PHP a nie znasz podstaw...

  1. $array = array($zmienna, 'inny tekst');
  2.  
  3. echo json_encode($array);


po stronie przeglądarki zamiast bawić się XMLHttpRequest pobierz jQuery i użyj jquery.ajax()
viking
Od razu zawsze jquery. Nie każdy potrzebuje: https://github.com/ded/reqwest
adi456
tak kombinuje:

  1. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  2. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  3.  
  4. function getData()
  5. {
  6. if (object.readyState==4 || object.readyState==0)
  7. {
  8. var obj = document.getElementById('statuspcmarket');
  9. object.open("POST", 'tresc.php');
  10.  
  11. object.onreadystatechange = function()
  12. {
  13. if (object.readyState == 4 && object.status == 200)
  14. obj.innerHTML= object.responseText;
  15. var jsondata=eval(object.responseText) //retrieve result as an JavaScript object
  16. document.test.inputzezmienna.value =jsondata;
  17. }
  18. object.send(null);
  19. }
  20. }


i wyświetla mi się undefined, jak teraz wyodrębnić zmienną? bierze ktoś pod uwage że zmienną nie chce wyświetlić tylko wykorzystać w dalszej części programu?
radziopoke
Cytat(adi456 @ 27.07.2012, 15:25:13 ) *
bierze ktoś pod uwage że zmienną nie chce wyświetlić tylko wykorzystać w dalszej części programu?

Tak wszyscy biorą to pod uwagę bo inaczej nie powiedzieli by ci że masz korzystać z JSON. A jeżeli wyświetla ci się undefined sprawdź czy na pewno w php zmienną przekształciłeś na tablicę, zakodowałeś i wyświetliłeś za pomocą echo (Nie to nie wyświetli ci tekstu tylko przekaże ciąg z JSON). Następnie musisz po prostu odczytać odpowiednie dane i je odpowiednio wykorzystać w swoim kodzie. Ale jakbyś korzystał z jquery (też kiedyś byłem negatywnie nastawiony to tego typu rozwiązań) to na pewno o wiele szybciej byś rozwiązał swój problem
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.