Koristim sledeci kod pri radu sa AJAX-om:
function handleHttpResponse()
{
if (http.readyState == 4)
{
if(http.status==200)
{
var results=http.responseText;
if (navig == 1)
ObradiNavigator1(results);
if (navig == 2)
{
ObradiNavigator2(results);
}
return;
}
}
}
function Start(nav, zapretragu)
{
var metod = true;
navig=nav;
if (nav == 1)
{
url = "navigator1.php";
}
if (nav == 2)
{
metod = false;
url = "navigator2.php?slovo="+zapretragu;
}
http.open("GET", url, metod);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function getHTTPObject()
{
var xmlhttp;
try
{
xmlhttp = new XMLHttpRequest();
}
catch (trymicrosoft)
{
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (othermicrosoft)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
xmlhttp = false;
}
}
}
if (!xmlhttp)
alert("Error initializing XMLHttpRequest!");
return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object
E sada je bitan ovaj deo koda:
if (nav == 2)
{
metod = false;
url = "navigator2.php?slovo="+zapretragu;
}
http.open("GET", url, metod);
http.onreadystatechange = handleHttpResponse;
http.send(null);
kada je metod = false, stranica bi trebalo da saceka izvrsenje skripte na serveru i tek onda obradi podatke (sinhronizovan poziv).
Ovo lepo radi u IE 6 i Operi 9 ali nece u Mozilli 1.5?
U cemu je problem?
Kako da u Mozilli izvrsim sinhronizovan poziv?
Pozdrav,
Predrag
[Ovu poruku je menjao kukipei dana 09.09.2006. u 15:46 GMT+1]