Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ladowanie pliku txt
Forum PHP.pl > Forum > XML, AJAX > AJAX
pys1986
Nieznam ajax`a sad.gif i mam pytanie : czy jest mozliwe aby napisac skrypt ktory wyswietla zawartosc pliku txt na bieżąco smile.gif ? chodzi o to ze gdy cos zostanie dopisane do pliku to od razu (kilka sekund) sie wyswietli na stronie smile.gif bez odswiezania
webdice
Można zrobić coś takiego, musisz wczytywać plik po X sekund. O ajaxie jest pełno artykułów.
pys1986
a czy ktos moglby mi przedstawic jak to zrobic smile.gif
webdice
a czy mogł byś użyć google? Poszukaj poprobuj jak nie będzie Ci wychodzić to Ci pomożemy, ale na pewno nikt za Ciebie tego nie zrobi.
pys1986
no to znalazlem cos takiego smile.gif :

  1. <head>
  2.  
  3. <title>Przykładowy skrypt AJAX</title>
  4.  
  5. <script type="text/javascript"> // pierwsza część kodu var ObiektXMLHttp = false;
  6. if (window.XMLHttpRequest)
  7. {
  8. ObiektXMLHttp = new XMLHttpRequest(); }
  9. else if (window.ActiveXObject)
  10. {
  11. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  12.  
  13. // druga część kodu
  14. function getData(zrodlo, cel) {
  15. if(ObiektXMLHttp)
  16. {
  17. var cel = document.getElementById(cel);
  18. ObiektXMLHttp.open("GET", zrodlo);
  19.  
  20. ObiektXMLHttp.onreadystatechange = function()
  21. {
  22. if (ObiektXMLHttp.readyState == 4)
  23. {
  24. cel.innerHTML = ObiektXMLHttp.responseText;
  25. }
  26. }
  27. // trzecia część kodu
  28. ObiektXMLHttp.send(null); } } </script>
  29.  
  30. </head>
  31.  
  32. <h1>AJAX w praktyce</h1>
  33.  
  34. <form>
  35. <input type = "button" value = "Pokaż wiadomość" onclick = "getData('plik.txt', 'div')">
  36. </form>
  37.  
  38. <div id="div"> Tutaj pojawi się wiadomość. </div>
  39.  
  40. </body>
  41. </html>


no i dziala smile.gif tylko teraz niewiem jak zrobic aby to sie samo wykonywalo np co 5 sekund questionmark.gifsad.gif
prond
Umieść na końcu funkcji taki kod:
setTimeut('getData(\''+zrodlo+'\', \''+cel+'\')', 5000);

Po pierwszym wywołaniu funkcja getData() będzie się sama wywoływać co 5 sekund.
pys1986
zrobilem tak:
  1. <script type="text/javascript"> // pierwsza część kodu var ObiektXMLHttp = false;
  2. if (window.XMLHttpRequest)
  3. {
  4. ObiektXMLHttp = new XMLHttpRequest(); }
  5. else if (window.ActiveXObject)
  6. {
  7. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  8.  
  9. // druga część kodu
  10. function getData(zrodlo, cel) {
  11. if(ObiektXMLHttp)
  12. {
  13. var cel = document.getElementById(cel);
  14. ObiektXMLHttp.open("GET", zrodlo);
  15.  
  16. ObiektXMLHttp.onreadystatechange = function()
  17. {
  18. if (ObiektXMLHttp.readyState == 4)
  19. {
  20. cel.innerHTML = ObiektXMLHttp.responseText;
  21. }
  22. }
  23. // trzecia część kodu
  24. ObiektXMLHttp.send(null); }
  25. setTimeut('getData(''+zrodlo+'', ''+cel+'')', 5000);
  26. } </script>


i nie chodzi sad.gif
nawet jak uruchomie skrypt klikne na button i podmienie plik.txt to po kliknieciu jeszcze raz wyswietla sie stary tekst sad.gif nie wczytuje go ponownie sad.gif
webdice
Cytat(prond @ 12.05.2007, 11:10:25 ) *
Umieść na końcu funkcji taki kod:
setTimeut('getData(\''+zrodlo+'\', \''+cel+'\')', 5000);

Po pierwszym wywołaniu funkcja getData() będzie się sama wywoływać co 5 sekund.


Nie będzie się wykonywać co 5 sekund, bo po pierwsze to nie jest do tego funkcja (uruchamia ona funkcję ze zdefiniowanym opóźnieniem), po drugie te dwie zmienne które podałeś nie istnieją. Do uruchamiania funkcji co określony odstęp czasu służy funkcja setInterval.

Kod
setInterval ("getData ('plik.txt', 'div')", 5000);
pys1986
ale gdzie mam to wstawic questionmark.gif

no to pomoze mi ktos questionmark.gif
webdice
Boże trochę samodzielności, czekasz od wczoraj na odpowiedź, a jakbyś sprobował sam zrobić to na pewno być zrobił. Wstaw to w sekcji head.
pys1986
no to mi juz dziala ale jak wprowadze zmiany w pliku txt to niesą one widoczne na stronie sad.gif
webdice
Masz wszystko co jest Ci potrzebne, mi działa to Tobie też musi, próbuj a na pewno zadziała.
pys1986
nawet jak odswieże to wyswietla sie stary tekst sad.gif dopiero jak wlącze jeszcze raz przegladarke to wyswietli sie aktualny tekst sad.gif
webdice
Nigdy nie zrozumiem takiego lenistwa.

  1.  
  2. <title>Przykładowy skrypt AJAX</title>
  3.  
  4. <script type="text/javascript">
  5.  
  6. if (window.XMLHttpRequest)
  7. {
  8. ObiektXMLHttp = new XMLHttpRequest();
  9. }
  10. else if (window.ActiveXObject)
  11. {
  12. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  13. }
  14.  
  15. function getData ()
  16. {
  17. if(ObiektXMLHttp)
  18. {
  19. var cel = document.getElementById ('div');
  20.  
  21. ObiektXMLHttp.open('GET', 'plik.txt');
  22. ObiektXMLHttp.onreadystatechange = function ()
  23. {
  24. if (ObiektXMLHttp.readyState == 4)
  25. {
  26. cel.innerHTML = ObiektXMLHttp.responseText;
  27. }
  28. }
  29.  
  30. ObiektXMLHttp.send (null);
  31. }
  32. }
  33.  
  34. setInterval ("getData()", 1000);
  35.  
  36.  
  37. </head>
  38. <body onload="getData ();">
  39.  
  40. <h1>AJAX w praktyce</h1>
  41.  
  42. <div id="div"></div>
  43.  
  44. </body>
  45. </html>
pys1986
nie lenistwo tylko brak znajomosci javy sad.gif a jeszcze mam dwa chyba ostatnie pytania:

- jak zrobic znak nowej linii ?
- jak przechwycic jakis tag np. ["b"]text["/b"] i wiecie co z nim zrobic questionmark.gif dalem w "" bo inaczej nie pokazuje sie
webdice
Cytat(pys1986 @ 14.05.2007, 21:23:42 ) *
nie lenistwo tylko brak znajomosci javy sad.gif a jeszcze mam dwa chyba ostatnie pytania:


Ja tez javy nie znam. Java to nie to samo co JavaScript, co do tematu znak nowej linii w tym przypadku to <br>

Cytat(pys1986 @ 14.05.2007, 21:23:42 ) *
jak przechwycic jakis tag np. text i wiecie co z nim zrobic questionmark.gif dalem w "" bo inaczej nie pokazuje sie


Po polsku proszę.
pys1986
chodzi o to ze w tym pliku bedą tagi np. [new] i ten tekst ma zostac zastąpiony obrazkiem - na stronie oczywiscie smile.gif a w pliku ma byc dalej [new]
webdice
Następnej rzeczy za Ciebie nie będę robił, poszukaj czegoś, popróbuj jak Ci nie będzie wychodzić to wrzuć co zrobiłeś na forum to się coś pomyśli.
pys1986
no to znalazlem funkcje

indexOf(podłańcuch [,indeks])

i teraz trzeba by bylo stworzyc tablice ktora zawierala by definicje wszystkich tagów i petle ktora by zamieniala tag na inny znacznik sad.gif ale niewiem jak, blagam o pomoc sad.gif
sars
czy orientuje sie ktos dlaczego pod MSIE nie widze textu ladowanego a na firefoxie tak?
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.