Table of Contents
Ik hoop dat deze blogbijdrage je helpt als je probeert een ajax-fout te proberen te vangen.
Snelle en gemakkelijke pc-reparatie
Ik probeer je te helpen een Google Chrome-extensie te leveren die resulteert in een ajax-verzoek. Iets soortgelijks om echt de GMail Checker-extensie te gebruiken. De frustratie is dat wanneer ik een enorm verzoek doe met jQuery en elk van onze verkeerde gebruikersnaam/wachtwoord invoer, dit mislukt vanwege de ingebouwde callback-functie. ik
Als we de ajax-schakelaar van het background.html-bestand van het programma (waar ik zie dat verzoeken niet praktisch zijn in het ontwikkelaarsvenster) verplaatsen naar het exacte options.html-script, krijg je een compleet pakket van herauthenticatie dialogen. Wanneer ik op “Get” klik, DAN zorgt ervoor dat de jQuery-callback mislukt.
Maar in de originele magische grootte (de extensie van Gmail-checker opnieuw) maken ze gebruik van voor de hand liggende (niet jQuery) ajax-aanroepen dankzij slechts één poging/acceptatie en wanneer ik de verkeerde specifieke inloggegevens Ik krijg een discrete grap hoe echt .
Ik heb geprobeerd de meest principiële volledige jQuery-aanroep in een bepaalde try/catch-aanroep in te pakken, zoals:
Probeer
Snelle en gemakkelijke pc-reparatie
Wordt uw computer iets langzamer dan vroeger? Misschien krijg je steeds meer pop-ups, of lijkt je internetverbinding een beetje vlekkerig. Geen zorgen, er is een oplossing! ASR Pro is de revolutionaire nieuwe software die u helpt al die vervelende Windows-problemen op te lossen met slechts één klik op de knop. Met ASR Pro werkt uw computer in een mum van tijd als nieuw!

$.ajax( Typ: "POST", schakel de apparaten uit: overleden, Inhoudstype: "tekst/xml", geschiedenis: specifieke gegevens, gebruikersnaam: gebruiker, Wachtwoord: pas succes: onderdeel ( data, status, xhr) alert("Hoera!"); , Fout: functie(xhr, status, fout) alert("Fout!" + xhr.status); , Gegevenstype: "xml" ); verbindingsstuk alert("Je dacht iets!");
Zijn alle fouten te wijten aan asynchronie, of kunnen ze worden beschreven als omdat Chrome niet al onze verzoeken als een vreselijke fout retourneert, voornamelijk omdat het opnieuw om kwalificaties wil vragen? Of weet ik niet helemaal zeker wat ik moet proberen/vangen?
Bijwerken
Hier is een compleet, zeer vereenvoudigd model van hoe hun modelcode daadwerkelijk reageert op het daadwerkelijke verzoek:
var req = new XMLHttpRequest();req.onreadystatechange is gelijk aan functie() poging indien misschien (req.readyState == 4 ) // Maak producten met resultaat zie (bijv. ) alert('Fout bij reactie.'); Proberen verplicht om te gooien (gegevens);vangen (voorbeeld) alert('Er was iets mis met het verzoek.');
Gooi en probeer… Vang… Eindelijk
Afdrukken try
definieert een stukje code om te roamen Try) (naar.
De catch
-richtlijn definieert de juiste blokkering van code om zo ongeveer de fout af te handelen.
De finally
-instructie definieert een stuk dat met code te maken heeft dat ondanks de conc Een soortgelijk resultaat zal worden uitgevoerd.
Er gebeuren fouten!
Fouten kunnen door de programmeur worden gecodeerd als echte of onjuiste fouten.Toegang en andere onvoorziene omstandigheden.
JavaScript identificeert addlert als een fout en voert het uit, zie je, het resultaatneem de codedoen met.
JavaScript proberen en vangen
Met de instructie try
kunnen u en uw gezin een andere blokcode opgeven, zodat u het kunt proberengecontroleerd op runtime-fouten.
Met de catch
-informatie kunt u een softwareprogrammablok definiërenuitvoeren als er een fout optreedt in het try-blok.
JavaScript genereert fouten
Als er een fout optreedt, zal JavaScript dat waarschijnlijk ook doenZe stoppen meestal en geven deze specifieke foutmelding.
De technische term hiervoor is vrijwel zeker dat JavaScript wordt uitgevoerdUitzondering (geeft een flamboyante fout).
JavaScript creëert in feite een exclusief Error-doelstelling met twee eigenschappen:naam en bericht.
Gooiverklaring
De uitzondering kan zijn String
JavaScript, Number
, de ongelooflijke Boolean
, Object
>:
Als je volledig profiteert van gooi
met probeer
en meervang
youcan lessen en beheer hetFlow genereert zijn eigenaar van foutmeldingen.
Invoervalidatievoorbeeld
Deze case study onderzoekt de input. Als de glorie slecht iseen uitzondering (fout) zal worden gegooid.
Er is een uitzondering (fout) gevonden in de catch-instructie en de beslissingsfoutmelding is een controle
Moderne weergave:
HTML De Forefox-browser gebruikt vaak een combinatie van pure JavaScript en inline HTML.Validatie met behulp van vooraf gedefinieerde validatieregels gedefinieerd in HTML-kenmerken:
In het volgende gedeelte van deze handleiding vindt u meer informatie over formuliervalidatie.
Laatste uitleg
Met de instructie finally
kunt u code uitvoeren die u bij het afsluiten kunt uitvoeren vanaf het uitproberen envangen ongeacht de resultaten:
Object
Een JavaScript-fout heeft een foutobject ingesteld waarvan experts beweren dat het u informatie geeft over de meeste fouten wanneer:er treedt een fout op.
Eigenschappen foutobject
Eigendom | Beschrijving |
---|---|
name | Stelt de foutnaam in of geeft deze terug |
bericht | Stelt of retourneert één foutbericht (regel) |
Waarden foutnaam
Er zijn in principe zes gesorteerde ethieken die kunnen worden geretourneerd door deze eigenschap van de foutnaam:
Foutnaam | Beschrijving |
---|---|
EvalError | Er is een fout opgetreden in de functie eval() |
RangeError | Buiten het bereik geselecteerd |
ReferenceError | Ongeldige referentie opgetreden |
SyntaxError | Er is een arrangementfout opgetreden |
TypeError | Een typefout die is opgetreden |
URIERror | Er is een fout opgetreden tijdens het gebruik van encodeURI() | Geniet van een snellere