Pogledajte određenu poruku
Staro 10. 06. 2005.   #1
bluesman
Goran Pilipović
Sir Write-a-Lot
 
Avatar bluesman
 
Datum učlanjenja: 18.05.2005
Lokacija: Beograd
Poruke: 5.450
Hvala: 288
1.247 "Hvala" u 446 poruka
bluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušatibluesman je osoba koju treba slušati
Pošaljite ICQ poruku za bluesman
Default XMLHttpRequest - početak

Za sve one koji su razmišljali da počnu da koriste XMLHttpRequest, evo kratkog uputstva. To je ono što se "fensi" zove AJAX, znači asinhrono izvršavanje http request (POST ili GET) - najprostijim renikom učitavanje sadržaja bez reloadovanje strane.

Inicijalizacija objekta se vrši u zavisnosti od browsera i verzije_

HTML kôd:
<script type="text/javascript">
var xmlhttp = false;   // xmlHTTP objekat

/* --------------------------------------
JScript omogućava uslovnu kompilaciju, proverava se verzija jscript-a.
 -------------------------------------- */

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
    xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
catch (e)
    {
    try {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    catch (E)
        {
        alert("Microsofts XML parsers nedostupan");
        }
    }
@else
    alert("Morate imati noviju verziju JScript-a.");
@end @*/

if (!xmlhttp)
    {
    try {
        xmlhttp = new XMLHttpRequest();
        }
    catch (e)
        {
        alert("Vaš browser ne podržava XMLHttpRequest objekat.")
        }
    }
</script>
XMLHttpRequest radi u sledećim browserima: Mozilla 0.9.5, IE5 +, Opera 8 (za ostale ne znam)

Šta sad sa ovim? Treba nam funkcija koja će da izvršava request:

HTML kôd:
<script type="text/javascript">
function openHttp (url)
{
if (xmlhttp)
    {
    xmlhttp.open("GET", url,true);
    xmlhttp.onreadystatechange = UpdateContent;
    xmlhttp.send(null);
    }
}

function UpdateContent ()
{
if (xmlhttp.readyState == 4)
    {
    document.getElementById('content').innerHTML = xmlhttp.responseText;
    }
}
</script>
funkcija UpdateContent je u stvari handler koji ažurira sadržaj kada se izvrši request. U načem slučaju upisuje sve što se vraća u DIV id 'content'

Znači treba nam:
HTML kôd:
<div id="content"></div>
Kao i link:
HTML kôd:
<a href='javascript:openHttp ("test.html");'>test</a>
Naravno, trebaće vam i fajl "test.html" koji se učitava.

Ovo je jednostavan primer, moguće je proveravati i status request-a, pročitati ceo header i još mnogo drugih stvari.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman
I don't always know what I'm talking about but I know I'm right!

Poslednja izmena od bluesman : 18. 06. 2005. u 03:12.
bluesman je offline   Odgovorite uz citat