Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Malo ajaxa i ucitavanje strane, help!

[es] :: Javascript i AJAX :: Malo ajaxa i ucitavanje strane, help!

[ Pregleda: 1763 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ackom
Aleksandar Mihajlovic
nezaposljen
Niš

Član broj: 160320
Poruke: 76
*.smin.itsisp.net.



+3 Profil

icon Malo ajaxa i ucitavanje strane, help!27.02.2009. u 16:52 - pre 184 meseci
Potrebna mi je mala pomoc, ako neko ima vremena i iskustva s ovim molio bih da pomogne

Ovo mi je u pocetnoj strani index.php:
Code:

<html>
 <script type="text/javascript">
<!--

function displaySubs(){

    word="procitaj_sertifikat";
    
    var url="ajax.php?word="+word;
   
    if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();// Mozilla/Safari
    }else if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");// IE
    }

    xmlHttp.onreadystatechange=AJAXresponse;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null)
}

function AJAXresponse(){

    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
   document.getElementById("result").innerHTML=xmlHttp.responseText;
}
}
</script>
  </head>
  <body >
  <a href=# onclick=displaySubs();>klikni me</a>

<div id="result">
Pocetni tekst
</div>

  </body>
</html>


a ovo u fajlu kojeg pozivam preko ajaxa: ajax.php
Code:

<?php
    $word=$_GET["word"];
    echo "<a href=# onclick=displaySubs() >$word</a>";
?> 


Sve ovo radi kad se klikne na link "klikni me", odnosno zamenjuje se "Pocetni test", sa recima koje se salju pomouc GET methode.
Ono sto ja zelim da kad kliknem na link koji se nalazi u fajlu "ajax.php", da mi ponovo otvori "Pocetni tekst" i tako u krug.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Malo ajaxa i ucitavanje strane, help!27.02.2009. u 18:03 - pre 184 meseci
Uopshte mi nije jasno shta hocesh da postignesh... U drugoj liniji koda te funkcije displaySubs(), odakle ti dobijash vrednost te promenljive word, koju nadovezujesh na taj url?
 
Odgovor na temu

sasa_lisac
Nis

Član broj: 214330
Poruke: 1
*.smin-1.sezampro.yu.



Profil

icon Re: Malo ajaxa i ucitavanje strane, help!27.02.2009. u 22:23 - pre 184 meseci
Morao sam da se ponovo registrujem kako bih ti odgovorio, jer sam daleko od kuce, a ne secam se lozinke.
Nikola, prvo hvala ti sto si se odazvao mom pitanju!!
Pokusacu da pojasnim. U ovom slucaju promenjljiva WORD uopste nije bitna.
Promenljiva bi bila bitna ukoliko bih zeleo da u fajlu ajax.php vrsim iscitavanje razlicitih podatak u zavisnosti od nje. Npr:
Code:

if($_GET['word']==1)
echo "Ispisi prvi tekst";
elseif($_GET['word']==2)
echo "Ispisi drugi tekst";
.
.
.
itd

Meni vrednost promenjlive nije u ovom slucaju bitna, jer citam samo jedan podatak iz fajla ajax.php. Znaci to ne mora da bude prom. $word, kako trenutno stoji u fajlu, vec moze biti bilo koji tekst, najobicniji.
Kad pozovem stranicu index.php, pojavljuje se po defaultu tekst "Pocetni tekst" koji je definisan u DIV tagu.
Kada se klikne na link "klikni me", postojeci tekst u DIV-u (Pocetni tekst), zamenjuje se sa tekstom koji se nalazi u fajlu ajax.php koji se poziva preko AJAXA. I sada umesto teksta "Pocetni tekst" pojavljuje se tekst iz fajla ajax.php, a taj tekst u ovom slucaju je vrednost promenjlive $word (procitaj_sertifikat).
Taj tekst se prenosi GET metodom, sto je nebitno.
Sada je taj tekst linkovan. Kad ja kliknem na taj novi tekst koji je linkovan (procitaj_sertifikat), potrebno je da se pojavi ponovo tekst koji je bio na pocetku (Pocetni tekst), pre aktiviranja AJAX scripte. Kad opet kliknem na link "klikni me" opet ide tekst "procitaj_sertifikat" i tako u krug. Znaci da se tekstovi smenjuju.
Ne znam kako drugacije da objasnim.
Priznajem da izgleda malo konfuzno, al sta da radim ne mogu bolje!!
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-1.sezampro.yu.



+33 Profil

icon Re: Malo ajaxa i ucitavanje strane, help!28.02.2009. u 09:29 - pre 184 meseci
Aha, e pa sad mi je malo jasnije, samo mi josh uvek nije jasna svrha svega toga, al' nebitno...

Nego, poshto ti tu praktichno imash samo dva stanja, zashto onda ne bi uveo josh jednu malo pomocnu f-ju u igru. Ona bi se uvek pozivala, kad se klikne na taj link koji se formira u tom fajlu ajax.php, a njen kod bi izgledao samo ovako:
Code:

function reset() {
   document.getElementById("result").innerHTML = 'Pocetni tekst';
}

Dakle, taj tvoj link bi se u tom sluchaju generisao ovako:
Code:

echo '<a href = "#" onclick = "reset();">' . $word . '</a>';

A ako ti ne odgovara da to ide sa dve f-je, vec samo sa tom jednom, displaySubs(), onda njoj morash da prosledjujesh neshto na osnovu chega ce ona znati shta da radi, ovako:
Code:

function displaySubs(word) {
    if (word = 'pocetna') {
        document.getElementById("result").innerHTML = 'Pocetni tekst';
    }
    else {
        word = "procitaj_sertifikat";
    
        var url = "ajax.php?word="+word;
   
        if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest(); // Mozilla/Safari
        }
        else if (window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE
        }

        xmlHttp.onreadystatechange = AJAXresponse;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
}

Shto znachi, ako joj se prosledi string 'pocetna', treba samo reset-ovati, taj div "result", i u njemu ispisati neki fiksan tekst, a ako je prosledjeno neshto drugo onda ide komunikacija sa PHP-om koji ce generisati neki link...

A poziv te f-je bi sad izgledao ovako:
Code:

<a href = "#" onclick = "displaySubs('neka_rech');">klikni me</a>

A ono generisanje linka u PHP kodu ovako:
Code:

echo '<a href = "#" onclick = "displaySubs('pocetna');">' . $word . '</a>';
 
Odgovor na temu

ackom
Aleksandar Mihajlovic
nezaposljen
Niš

Član broj: 160320
Poruke: 76
*.smin.itsisp.net.



+3 Profil

icon Re: Malo ajaxa i ucitavanje strane, help!28.02.2009. u 16:27 - pre 184 meseci
Nikola jos jednom hvala na ulozenom trudu, zaista! Jako to cenim, jer si ti jedini nasao za shodno da mi odgovoris, ma koliko moje pitanje bilo zbunjujuce.
Do ovog tvog drugog resenja sam i ja uspeo nekako da dodjem, ali ono sto mi se nije svidelo je to sto tekst koji bi bio pocetni, treba da bude u okviru java scripta. U oba tvoja resenja sa pokretanjem stranice INDEX.PHP, moram da kliknem na link "klikni me", kako bi se pojavio tekst iz fajla AJAX.PHP, pa onda klikom na dobijeni link dobijam pocetni tekst.
Potrebno je bilo da kad se otvori pocetna strana INDEX, da se odmah pojavi pocetni tekst, a kasnijim klikovima, ukoliko to zelis, da se vrsi izmena pocetnog teksta i teksta iz fajla ajax.php. To se je verovatno moglo resiti pozivanjem funkcije reset() prilikom samog ucitavanja strane.
Da bih izbegao da pocetni tekst (koji nije bas mali) bude u JS, ipak sam se odlucio da i pocetni tekst i tekst koji se kasnije poziva budu u fajlu ajax.php, a da se u zavisnosti od promenjlive (1 ili 2) koja se salje GET metodom poziva odredjeni tekst, pri cemu se pocetni tekst takodje poziva funkcijom zadatom u JS displaySubs(1);
Moja je zelja bila da pocetni tekst bude u fajlu index.php u okviru DIV tagova (id=result), a drugi tekst bude u fajlu ajax.php.

Da te zamolim jos nesto ukoliko ti je poznat rad sa .htaccess fajlovima.
Problem je sto kod mene na lokalnom serveru to ne radi. Jel imas ideju kako da se to resi. Imam XAMP instaliran.
I ako ti je poznat kod za URL rewrite jedan mali primer. Znas ono da se u link baru umesto index.php?name=toma, prikazuje kao index.php/toma.
Pozz!
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-1.sezampro.yu.



+33 Profil

icon Re: Malo ajaxa i ucitavanje strane, help!28.02.2009. u 18:04 - pre 184 meseci
Citat:
ackom:Potrebno je bilo da kad se otvori pocetna strana INDEX, da se odmah pojavi pocetni tekst, a kasnijim klikovima, ukoliko to zelis, da se vrsi izmena pocetnog teksta i teksta iz fajla ajax.php.

Pa chekaj, zar taj 'Pocetni tekst' ne stoji odmah po uchitavanju stranice, u tom div-u "result", ili mi je mozhda neshto promaklo?

Citat:
ackom: Moja je zelja bila da pocetni tekst bude u fajlu index.php u okviru DIV tagova (id=result), a drugi tekst bude u fajlu ajax.php.

Pa u tom cilju si npr. mogao da napravish jedno skriveno polje u index.php, koje bi za vrednost imalo ceo taj pocetni tekst, ovako:
Code:

<input type = "hidden" id = "pocetni_tekst" value = "Pocetni tekst" />

A u JavaScript-u bi mu pristupao ovako:
Code:

var pocetni_tekst = document.getElementById('pocetni_tekst').value;

Mada chini mi se da je mnogo elegantnija varijanta to sa uslovnim shtampanjem pochetnog i ostalog teksta iz fajla ajax.php...

Citat:
ackom:Da te zamolim jos nesto ukoliko ti je poznat rad sa .htaccess fajlovima.
Problem je sto kod mene na lokalnom serveru to ne radi. Jel imas ideju kako da se to resi. Imam XAMP instaliran.
I ako ti je poznat kod za URL rewrite jedan mali primer. Znas ono da se u link baru umesto index.php?name=toma, prikazuje kao index.php/toma.
Pozz!

Znam na shta mislish, al' nikad nisam radio custom .htaccess fajlove. Ne znam shta da ti kazhem, Google-aj malo, ima sigurno dobrih primera. Mada, da bi to radilo u lokalu, chini mi se da u onom Apache-evom konfiguracionom fajlu (xampp/apache/conf/httpd.conf) direktiva AllowOverride treba da bude set-ovana na All.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Malo ajaxa i ucitavanje strane, help!

[ Pregleda: 1763 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.