/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Spørgsmål om time-out på XMLHTTPReq
Fra : Rune Jensen


Dato : 08-09-09 17:05

Jeg har kæmpe huller i netforsyningen i øjeblikket, hvilket betyder, at
mine AJAX-kald til en chat bliver cuttet midt i det hele. Derefter
stopper AJAX funktionen helt med at virke.. eller den blanker bare DIVen
(fordi resultatet af responseText, som så er nul lægges i DIVen - vil
tro, det er årsagen)

Skal lige sige, der er en del kode, jeg ikke selv har lavet.

Mine test går på readystate=4 (forespørgsel gennemført)
og derefter
status=200 OK, eller status=304 (indhold ændret siden sidst)

Og det virker fint ellers. Men jeg har (åbenbart) ikke med dette taget
højde for, at kommunikationen kan afbrydes på tilfældige steder, eller
at netværket er langsomt. Ovennævnte er altså for best-case, men jeg har
ingen worst-case tests. Hvis f.eks. kaldet gennemføres, men filen ikke
er nået hentet inden time-out, kan man vel få en 404? Disse fejl ville
jeg gerne have op i status-feltet.

Her er link - koden er skod, desværre, da jeg selv har rodet en del...
men man bør nok kunne se idéen i f.eks. AJAXDone
http://webdesigngruppen.dk/chat/chat.asp

Jeg kan forestille mig, selve tracen skal lægges omkring her:

alert( 'Fejl ved AJAX request : Status req.status: '+req.status+'
returneret.');

....men jeg har ingen anelse om, hvilke fejlstatuskoder, jeg skal spore på.


MVH
Rune Jensen

 
 
Stig Johansen (08-09-2009)
Kommentar
Fra : Stig Johansen


Dato : 08-09-09 22:32

Rune Jensen wrote:

> Mine test går på readystate=4 (forespørgsel gennemført)
> og derefter
> status=200 OK, eller status=304 (indhold ændret siden sidst)

Og status = 0, som er den status du får ved fejl.

> Hvis f.eks. kaldet gennemføres, men filen ikke
> er nået hentet inden time-out, kan man vel få en 404?

404 er serverens svar på, at 'filen' ikke findes på serveren.

> Disse fejl ville
> jeg gerne have op i status-feltet.

Jeg har lavet det med en 'Open debug window?' dialog.
Den er især brugbar hvis man får en 500 Internal error efterfulgt af
fejludskrifter fra ASP.

> http://webdesigngruppen.dk/chat/chat.asp

Uff, den ser godt nok noget vingeskudt ud i min Konqueror.

> ...men jeg har ingen anelse om, hvilke fejlstatuskoder, jeg skal spore på.

Du skal bare ændre dine if's:
if ( req.status != 200 && req.status != 304 && req.status != 0) {
til
if ( req.status != 200 && req.status != 304 ) {


--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste