HTML5 - klaidų tvarkymas naudojant „Ajax“

Turinys
Kai nusprendžiame, kad eisime darbo keliu Ajax į HTML5Turime žinoti, kad turime tvarkyti galimas klaidas, ypač turime dviejų tipų klaidas, kurios skiriasi savo požiūriu.
Pirmasis klaidos tipas pateikiamas objekto požiūriu XMLHttpRequest ir tai yra tam tikra situacija, neleidžianti pateikti užklausos, pvz., pagrindinio kompiuterio vardas neišsprendžiamas DNS, pavyzdžiui, atmestas ryšys arba netinkamas URL.
Antro tipo klaida pateikiama mūsų programos požiūriu, tačiau ji neturi nieko bendra su objektu XMLHttpRequest, tai yra, buvo pateikta užklausa, ji buvo priimta, apdorota ir sugeneruota, tačiau atsakymas nebuvo laukiamas turinys, pvz., jei mūsų nurodyto URL nėra.

„SetUp“ klaidų tvarkymas
Pažiūrėkime, kad pirmoji klaidos rūšis, kurią turime tvarkyti, yra tada, kai objektui perduodame neteisingus duomenis XMLHttpRequest, kažkas panašaus į blogai suformuotą URL, nors skamba beprotiškai, tai gana dažna klaida dirbant Ajax.
Pavyzdžiui, pažiūrėkime šį skambutį, kuris gali sukelti šią klaidą:
httpRequest.open ("GET", "http: //");

Kad iškiltų tokio tipo problema, ji dažniausiai kyla dėl to, kad vartotojo prašoma įvesti tam tikrą vertę ar duomenis, su kuriais ketiname sugeneruoti URL ir kaip žinome, vartotojas yra pirmoji silpnoji programos vieta ir kad tai mūsų nepaveiktų, turime sukurti būdus, kaip patvirtinti ir tvarkyti bet kokio tipo turinį, kurį ji mums siunčia.
Norėdami tai padaryti, mes naudojame bloką pabandyti / pagauti tai leidžia mums vykdyti kodą ir, jei kyla problema, užfiksuojame klaidą ar išimtį ir galime tinkamai ją apdoroti, šiuo atveju mes parodome klaidą, kaip matome toliau pateiktame kode , kuriuos apibendriname ir parodome tik tas dalis, kurios jus domina šiuo konkrečiu momentu:
 pabandykite {… httpRequest.open ("GET", "http: //");… httpRequest.send (); } catch (klaida) {displayErrorMsg ("try / catch", error.message); } 

Bloko viduje pagauti Turime galimybę išsaugoti klaidą, todėl galime paprašyti, kad duomenys būtų įvesti dar kartą, nusiųsti į puslapį, kuriame nurodyta klaida ir pan. Svarbu tai, kad puslapis nesugestų ir procesas vartotojui netikėtai žūtų.
Tvarkymo užklausos klaidos
Ši klaida sugeneruojama, kai pateikiame užklausą, tačiau su ja kažkas negerai, pvz., Prašomas URL neišsprendžiamas DNS; Pažiūrėkime šį skambutį:
httpRequest.open ("GET", "http: //a.nodomain/doc.html");

Tokiu atveju URL adresas negali būti išspręstas DNS, be to, kadangi jo kilmė yra kitokia nei dokumento, jis taip pat gali turėti įtakos mums, norėdami valdyti tokio tipo klaidas, naudojame funkciją, kuri padeda mums jas valdyti, kaip matome šiame pavyzdyje:
 funkcija handleError (e) {displayErrorMsg ("Klaidos įvykis", httpRequest.status + httpRequest.statusText); } 

Vienintelis dalykas, kurį turime turėti omenyje, yra tai, kad naršyklės netvarko objekto informacijos httpRequest tuo pačiu būdu, todėl atsakymas gali būti ne tas pats.
Baigę vadovėlį, mes jau turime geresnę koncepciją, kaip tvarkyti ir valdyti klaidas, kurios gali atsirasti užklausoje Ajax ir kad jie gali priversti mūsų puslapį žlugti.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave