Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Jak zacząć
Forum PHP.pl > Forum > XML, AJAX > AJAX
nitro18
Nie wiem czy dobrze pisze w tej części forum ale chce się rochę okiełznać z ajaxem. ściągnałem sobie advajaxa przeczytałem szybko poradnik Anakina i nic nie rozumiem.

Stworzyłem sobie dwie proste storny html a.htm i b.htm

i chce w a.htm umieścić wywołanie ajaxa które pobierze b.htm

zaczynam od <script type="text/javascript" src="advajax.js">

i co dalej napisać?

Z góry dziękuję.
Cysiaczek
plik. index.php
  1. function Ajaxy(acValue, destination){
  2. advAJAX.get({
  3. url: "http://adres.pl/strona.php",
  4. parameters : {
  5. "action" : acValue,
  6. },
  7. onInitialization : function (obj) { waiting();},
  8. onSuccess : function(obj) { wypisz(obj.responseText, destination); },
  9. onError : function(obj) { alert("Error: " + obj.status); }
  10. });
  11. }
  12. function wypisz(tresc, div){
  13. document.getElementById(div).innerHTML=tresc;
  14. }
  15. <div id="cos" onclick='Ajaxy("show", this.id);'>pierwsza tresc</div>


plik strona.php
  1. <?php
  2. if ($_GET['action']=='show'){
  3. print 'ta tresc idzie do diva';
  4. }
  5. ?>


Może pomoże biggrin.gif

Pozdrawiam.
BTW. Zły dział :/
nospor
Jak juz wspomniano - zly dzial.
Przenosze
nitro18
coś nie chce działać. Cysiaczek podrzuć mi na mego emaila jarek@bystrzyca.info.pl swoje 3 pliczki: index.php, strona.php i advajax.js. Proszę. smile.gif
Cysiaczek
0. Napisz, co nie działa

1. Wyedytuj sobie tą linię
  1. url: "http://adres.pl/strona.php",


2. Wywal tą, bo to pozostalość z mojego skryptu:
  1. onInitialization : function (obj) { waiting();},


3.Na koniec sprawdź pod firefoxem, bo nie wiem, czy pod IE będzie działać

4. Nic na maila nie wysyłam, bo nie ma po co - wszystko jest tu guitar.gif

Pozdrawiam,
nitro18
No i nie działa sad.gif

  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  2. </HEAD>
  3. <script TYPE="text/javascript" LANGUAGE="JavaScript1.2" SRC="advajax.js">
  4. <!--
  5. //-->
  6. function Ajaxy(acValue, destination){
  7. advAJAX.get({
  8. url: "strona.php",
  9. parameters : {
  10. "action" : acValue,
  11. },
  12. onSuccess : function(obj) { wypisz(obj.responseText, destination); },
  13. onError : function(obj) { alert("Error: " + obj.status); }
  14. });
  15. }
  16. function wypisz(tresc, div){
  17. document.getElementById(div).innerHTML=tresc;
  18. }
  19. <div id="cos" onclick='Ajaxy("show", this.id);'>pierwsza tresc</div>
  20. </BODY>
  21. </HTML>
Cysiaczek
No bez jaj :|

Twoja linijka dołaczająca klasę advAjax
  1. <script TYPE="text/javascript" LANGUAGE="JavaScript1.2" SRC="advajax.js">


A teraz patrz na moją:
  1. <script TYPE="text/javascript" LANGUAGE="JavaScript1.2" SRC="advajax.js"></script>


Wszystko śmiga - sprawdziłem

Pozdrawiam.
nitro18
Jeszcze raz utworzyłem sobie plik: str.php
I ładuje do niego:

  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  2. </HEAD>
  3. <script TYPE="text/javascript" LANGUAGE="JavaScript1.2" SRC="advajax.js"></script>
  4. function Ajaxy(acValue, destination){
  5. advAJAX.get({
  6. url: "http://127.0.0.1/strona.php",
  7. parameters : {
  8. "action" : acValue,
  9. },
  10. onSuccess : function(obj) { wypisz(obj.responseText, destination); },
  11. onError : function(obj) { alert("Error: " + obj.status); }
  12. });
  13. }
  14. function wypisz(tresc, div){
  15. document.getElementById(div).innerHTML=tresc;
  16. }
  17. <div id="cos" onclick='Ajaxy("show", this.id);'>pierwsza tresc</div>
  18. </BODY>
  19. </HTML>


następnie w strona.php podaje:
  1. <?php
  2. if ($_GET['action']=='show'){
  3. print 'ta tresc idzie do diva';
  4. }
  5. ?>


no i nie działa. Nic mi się nie wczytuje sad.gif
Cysiaczek
Zamien np. 127.0.0.1 na localhost
  1. url: "http://localhost/strona.php",


Sprawdź, czy wogóle podajesz odpowiednie ściezki do plików. Np. do pliku advajax.js?

To po prostu nie ma prawa nie działać (nie wiem jak z Explorerem)
nitro18
Ja używam pod Firefoxa.

I nic.

Może podasz jakąś inną bibliotekę z obsługą Ajaxa i inny od o tym samym działaniu.
Cysiaczek
Nic Ci to nie da - masz wogóle zainstalowany serwer? (sorry za to pytanie, ale...)
Może robisz to na jakimś publicznym serwerze? Niektóre maja problemy z Ajax'em i po prostu nie działa.

Moze napisz, co robisz, ale krok po kroku zaczynjać od tego, gdzie masz serwer.

Pozdrawiam.
nitro18
Mam swój lokalny.
Cysiaczek
Załóż sobie konto np, na netstrefa.com.pl (14 dni za free) - tam Ajax działa na 100% i sprawdź ten skrypt, bo może to byc wina twojego serwera (nie podałeś jaki masz), ewentualnie, w co chyba nie wierzę, ale jest możliwe - masz wyłączoną obsługę JavaScript w przeglądarce.

Pozdrawiam.
nitro18
Podałem że lokalny czyli nie podłączony do Internetu przez 127.0.0.1


A ty przypadkiem nie podałeś dalej w adresie /?show=action i dlatego wczytuje?
Cysiaczek
[quote]
  1. <?php
  2. url: "http://localhost/strona.php",
  3. parameters : {
  4. "action" : acValue,
  5. },
  6. ?>

[quote]

parameters sa automatycznie dodawane do adresu, który w tym wypadku przybiera postać
  1. http://localhost/strona.php?action=show


Wpisz ten adres w przeglądarce, a powinieneś zobaczyć napis z pliku strona.php
nitro18
No to ja już nie rozumiem. Ajax ma załadować strone ze strona.php a ty mi podajesz odrazu plik strona.php z parametrem jak to ma się dziać w indexie
Cysiaczek
No i się dzieje w index.php, ale dane pobiera sobie z strona.php i to właśnie tam jest kierowne zapytanie Ajaxa.
Masz coś namieszane, albo ścieżki źle ustawione, albo nie wiem co...
nitro18
wszystko jest dobrze. a nie powinno być wywołania index.php?action=show czy jakoś tak?
Cysiaczek
W tym układzie nie. Ten skrypt działa - nie szukaj w nim dziury na siłę - to gdzieś w twoim serwerze, przeglądarce, lub tym, co robisz jest problem.
nitro18
no to zróbmy inaczej mam stronę a.htm i b.htm i gdy chce kliknąc na odnośnik w a.htm to ajax kieruje mnie wprost do b.htm tak żebym nie widział pustej strony. Po to jest Ajax
Cysiaczek
Nie rozumiem, o co Ci chodzi z tą "pustą stroną". Ajax służy do różnych rzeczy - takich jakie sobie wymyślisz i zrealizujesz. Mam takie kolejne dziwne pytanie - czy klikałeś na ten tekst, który się wyświetla? Bo naprawdę nie wiem, jak może Tobie to nie działać, skoro tysiącom osób działa. :|
nitro18
no teraz działa smile.gif Nic mi nie powiedziałeś że trzeba na ten tekst kliknąć.


Cytat(Cysiaczek @ 26.08.2006, 01:43 ) *
Nie rozumiem, o co Ci chodzi z tą "pustą stroną". Ajax służy do różnych rzeczy - takich jakie sobie wymyślisz i zrealizujesz. Mam takie kolejne dziwne pytanie - czy klikałeś na ten tekst, który się wyświetla? Bo naprawdę nie wiem, jak może Tobie to nie działać, skoro tysiącom osób działa. :|



ktoś tutaj nie rozumie jak działa normalna strona a jak Ajax smile.gif

To zrealizujesz moją prośbę co jest na 1 stronie?
Cysiaczek
Jaką prośbę, na jakiej stronie?
nitro18
Na pierwszej stronie na samym dole ostatni post.

Dobra to idziemy dalej. Skorzystałem z loadera Anakina do ładowanie warstw wszystko ok ale nie mogę załadować pliku HTML w któym są polskie znaki:

plik z loaderem smile.gif

  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  2. </HEAD>
  3. <script TYPE="text/javascript" LANGUAGE="JavaScript" SRC="advajax.js">
  4. function demo3() {
  5.  
  6. advAJAX.setDefaultParameters({
  7. onInitialization : function(obj) { document.getElementById(obj.tag).innerHTML = "Preparing..."; },
  8. onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Trwa ładowanie..."; },
  9. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText; },
  10. onError : function(obj) { document.getElementById(obj.tag).innerHTML = "Error..."; }
  11. });
  12. advAJAX.get({ url: "examples3.php", tag: "e3_div1" });
  13. advAJAX.setDefaultParameters({});
  14. }
  15.  
  16.  
  17. <style TYPE="text/css">
  18. e3_div{
  19.  
  20. }
  21. <div id="e3">
  22. <div id="e3_div1" class="e3_div"></div>
  23. <br>
  24. <button onclick="demo3()">Pobierz</button>
  25. </div>


example3.php

  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  2. </HEAD>
  3. <table border=1>
  4. <tr>
  5. <td><h3>Jak się masz?</H3></TD>
  6. </TR>
  7. </HTML>




Jak zrobić żeby Ajax pobierał w ISO?
phpion
Ja wroce do przykladu Cysiaczka. Dlaczego nie dziala on na Operze 8.52? Przyklady ze strony advAjaxa chodza, ten nie. Na FireFoxie dziala, ale na Operze kompletnie nic sie nie dzieje...
Aha, dodam ze na stornie advAjaxa pisze ze dziala w Operze 7.60 i wyzszych...
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.