Innehållsförteckning
När vi bestämmer oss för att vi ska gå vägen att arbeta med Ajax i HTML5Vi måste vara medvetna om att vi måste hantera de eventuella fel som uppstår, specifikt har vi två typer av fel som skiljer sig åt i deras perspektiv.Den första typen av fel ges från objektets synvinkel XMLHttpRequest och det är en situation som förhindrar att begäran görs, till exempel att värdnamnet inte löser sig i DNS, en anslutning nekad eller en ogiltig URL till exempel.
Den andra typen av fel ges från vår applikations synvinkel, men det har ingenting att göra med objektet XMLHttpRequest, det vill säga en begäran gjordes, den accepterades, bearbetades och genererade ett svar, men svaret var inte det förväntade innehållet, till exempel om den webbadress vi angav inte existerar.
Hantering av SetUp -fel
Låt oss se att den första typen av fel som vi måste hantera är när vi skickar fel data till objektet XMLHttpRequest, ungefär som en dåligt formad URL, även om det låter galet, detta är ett ganska vanligt fel när vi arbetar med Ajax.
Låt oss till exempel se följande samtal som kan leda till det här felet:
httpRequest.open ("GET", "http: //");
För att ett problem av denna typ ska inträffa uppstår det vanligtvis för att användaren uppmanas att ange något värde eller data som vi ska generera Url och som vi vet är användaren den första svaga punkten i ett program och för att detta inte ska påverka oss måste vi utveckla sätt att validera och hantera alla typer av innehåll som det skickar oss.
För att hantera detta använder vi ett block försök fånga som gör att vi kan köra koden och om det finns ett problem, fångar vi upp felet eller undantaget och vi kan ge det en adekvat hantering, i det här exemplet är det vi gör att visa felet, som vi kan se i följande kod , som vi sammanfattar och endast Vi visar de delar som intresserar vid just den här punkten:
prova {… httpRequest.open ("GET", "http: //"); … httpRequest.send (); } catch (fel) {displayErrorMsg ("try / catch", error.message); }
Inuti kvarteret fånga Vi har möjlighet att spara felet, för detta kan vi begära att uppgif.webpterna matas in igen, skicka till en sida där felet indikeras etc. Det viktiga är att sidan inte misslyckas och processen dör oväntat för användaren.
Hanteringsförfrågningsfel
Det här felet genereras när vi gör begäran men något är fel med det, till exempel att den begärda webbadressen inte löser sig i DNS; Låt oss se följande samtal:
httpRequest.open ("GET", "http: //a.nodomain/doc.html");
I det här fallet kan URL: en inte lösas av DNS, eftersom den har ett annat ursprung än dokumentet kan den också påverka oss, för att hantera denna typ av fel använder vi en funktion som hjälper oss att hantera dem, som den vi ser i det här exemplet:
function handleError (e) {displayErrorMsg ("Felhändelse", httpRequest.status + httpRequest.statusText); }
Den enda punkten vi måste komma ihåg är att webbläsare inte hanterar objektinformationen httpRequest på samma sätt, så svaret kanske inte är detsamma.
Med detta avslutar vi handledningen och vi har redan ett bättre koncept om hur vi hanterar och hanterar de fel som kan uppstå i en begäran Ajax och att de kan få vår sida att misslyckas.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng