Ajax klaida
by neworld on Geg.12, 2007, under ajax
Jeigu dirbate su ajax, tikriausiai pastebėjote, jog tuo pačiu komponentu siunčiant antrą užklausą, kai pirmoji nepabaigta įvyksta klaida. Naršyklės išmeta klaidą, sustoja šios ajax užklausos. Tačiau kad taip neatsitiktu galime idėti filtra.
Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED)
[nsIXMLHttpRequest.send]” nsresult: “0xc1f30001
(NS_ERROR_NOT_INITIALIZED)”
Filtras:
[code lang="javascript"]Â function query(adr,handle) {
var browser = navigator.appName;
 if (http.readyState==1) {
  if (browser != "Microsoft Internet Explorer") {
   http.onreadystatechange = function() {};
  }
  http.abort();
 }
[/code]
Tiesiog ši koda įterpkite į savo ajax vykdymo pradžią. Nepamirškit http pakeisti į jūsų naudojamą ajax objektą.
O dabar kaip viskas veikia.
var browser = navigator.appName; //bus mum reikalingas nustatatnt naršyklę if (http.readyState==1) { //patikrinam ar mūsų ajax komponento (http) vykdymas lygus 1 (loading)
if (browser != “Microsoft Internet Explorer”) { //patikrinam ar naršyklė IE. Galbūt sugalvosite geresnį buda patikrinti
http.onreadystatechange = function() {}; // išvalome onreadystatechange, tam kad su FF viskas būtų tvarkoje
http.abort(); //sustabdom ajax buvusį querį, kad galėtu kuo puikiausiai dirbti naujas
Be to, jeigu kas nors paklausite, kodėl negaliu tiesiog patikrinti http.onreadystance, ir esant 4 vykdyti, tai viskas veiks, tačiau nulužus serveriui gali kilti bėdų, tarkim operoje bus bandomas įkrauti duomenis iš nulužusio serverio, tol kol duomenys bus gauti, tokiu atveju, teoriškai kol negaus duomenu operą, sustos bet koks ajax vykdymas.
3 Comments for this entry
2 Trackbacks / Pingbacks for this entry
-
» Savaitgalio skaitiniai #26 Archyvas » Pixel.lt
Gegužė 19th, 2007 on 09:27:52[...] Sveiki, su greitai artėjančia vasara, su prasidedančiomis sesijomis, egzaminais ir t.t. ir pan. Šią savaitę ačiū Vaidui Žilioniui už straipsnį PHP saugumas: Saugus programinis kodas. 1 dalis.. Galime pasidžiaugti jog šio savaitgalio skaitiniai yra visi lietuviški! “Elgsena paremtas” programavimas(angl. Behaviour Driven Development). I dalis. “Elgsena paremtas” programavimas(angl. Behaviour Driven Development). II dalis. Ajax klaida [...]
-
Žvilgsnis atgal: mano žaidimų istorija | Vytauto Povilaičio blog'as
Spalis 24th, 2010 on 20:53:05[...] tuo metu AJAX’o dar nežinojau, o jis ir nelabai dar kur buvo naudojamas, o dinamiškai kurti script tag’us [...]
Birželis 22nd, 2013 on 03:08:21
Simply desire to say your article is as amazing. The clarity in your post
is just spectacular and i can assume you are an expert on this subject.
Well with your permission allow me to grab your RSS
feed to keep updated with forthcoming post. Thanks a million and please continue the gratifying work.
Rugpjūtis 23rd, 2014 on 14:14:00
The USS Guam reported and contained this minor outbreak where four Marines were
infected and became zombies. ‘Brave’ is the story of a young
11th Century Scottish princess, Merida (Kelly Macdonald) whose spirit is as wild
and fiery as her head of unruly red hair. It’s still in that suitcase and goes with me wherever I go.
Feel free to visit my blog post: Clash of Clans
Hack (Nathan)
Lapkritis 28th, 2014 on 21:22:54
Try a free class! I like the issue!