Ne znam sta se desilo, ali i kod mene to sada radi.
Medjuim, kada je proradilo, shvatio sam da to moram da prosirim malo da bi aplikacija radila.
Naime, u pitanju je ajax zahtev serveru. Ako dodje do prevelikog cekanja
odgovora servera, ovaj metod sa 'setTimeout' treba da pozove metod2 koji ce:
1. prikazati poruku na ekranu da se odgovor servera predugo ceka i
2. prekinuti ajaxRequest da se dalje ne izvrsava.
Kod je sledeci:
Code:
function F()
{
this.ajaxRequest = ...;
this.metod = function() {
setTimeout( this.metod2, 5000);
}
this.metod2 = function() {
alert("Server ne odgovara vise od 5 sekundi.");
this.ajaxRequest.abort();
}
}
klasa = new F();
klasa.metod();
Medjutim, kada prodje 5 sekundi ispise se poruka o gresci, ali
se ne blokira ajax request. Ako zelite da isprobate kod sebe, probajte u ovom obliku
(sustina je ista):
Code:
function F()
{
this.promenljiva = 1;
this.metod = function() {
setTimeout( this.metod2, 5000);
}
this.metod2 = function() {
alert("Server ne odgovara vise od 5 sekundi.");
alert(this.promenljiva);
}
}
klasa = new F();
klasa.metod();
Oba alerta su se pojavila, somo sto drugi alert ne prepozna this.promenljiva.
Isto je u predhodnom kodu - nece se prepoznati this.ajaxRequest.abort();
Molim za pomoc jos jednom!
[Ovu poruku je menjao zgas dana 06.02.2009. u 18:13 GMT+1]
Aukcije,
www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!