Maison  >  Article  >  interface Web  >  Quand l’erreur est-elle utilisée en ajax ?

Quand l’erreur est-elle utilisée en ajax ?

WBOY
WBOYoriginal
2021-12-23 17:17:362184parcourir

Utilisation des erreurs : 1. Utilisé lorsque le type de données renvoyé par l'arrière-plan est incohérent avec ce qui est écrit dans le frontend ; 2. Utilisé lorsque l'asynchrone demande une synchronisation et des problèmes asynchrones ; 3. Utilisé lorsque les données sont définies comme vides ; les paramètres transmis ne sont pas utilisés. Utilisez le format d'encodage pris en charge par ajax.

Quand l’erreur est-elle utilisée en ajax ?

L'environnement d'exploitation de cet article : système windows7, version javascript1.8.5&&html5, ordinateur Dell G3.

Quand l'erreur est-elle utilisée en ajax ?

  • Erreur dataType (dataType est utilisé pour spécifier le type de paramètres renvoyés par l'arrière-plan)

Erreur de type : Le type dataType renvoyé par l'arrière-plan est incompatible avec ce qui est écrit dans le frontend. Passer à l'erreur.

Erreur de format : jquery1.4 a des exigences de format très strictes pour json, et les erreurs de format json passeront également à l'erreur.{"test":1} Faites attention au format

Parfois, lorsqu'il n'est pas nécessaire de renvoyer un valeur, lancez le bouton Format du modèle, le paramètre dataType : "json" est défini ; à ce moment, lorsque la valeur ajax est correcte, il y aura une situation particulière où une erreur sera signalée dans le statut de réussite du retour 200.

S'il n'est pas spécifié, jQuery effectuera automatiquement des jugements intelligents basés sur les informations MIME du package HTTP. Par exemple, le type XML MIME est reconnu comme XML. Dans la version 1.4, JSON générera un objet JavaScript et le script exécutera le script. Les données renvoyées par le serveur seront ensuite analysées en fonction de cette valeur et transmises à la fonction de rappel. Valeurs disponibles :

"xml" : Renvoie un document XML pouvant être traité avec jQuery.

"html" : renvoie les informations HTML en texte brut ; la balise de script incluse sera exécutée une fois insérée dans le dom.

"script" : renvoie le code JavaScript en texte brut. Les résultats ne sont pas automatiquement mis en cache. Sauf si le paramètre "cache" est défini. Remarque : lors de requêtes distantes (pas sous le même domaine), toutes les requêtes POST seront converties en requêtes GET. (Car la balise du script DOM sera utilisée pour le chargement)

"json" : renvoie les données JSON.

"jsonp" : format JSONP. Lors de l'appel d'une fonction au format JSONP, telle que "myurl?callback=?", jQuery remplacera automatiquement ? par le nom de fonction correct pour exécuter la fonction de rappel.

"text": renvoie une chaîne de texte brut

  • Synchronisation des requêtes asynchrones et problèmes asynchrones

async est par défaut true (requête asynchrone) Si vous souhaitez exécuter un autre Ajax après l'exécution d'un Ajax, vous besoin de async=false

Par exemple, vous utilisez une requête de publication pour passer une valeur en arrière-plan d'une autre page, mais votre ajax a déjà été exécuté dès le chargement de la page, et la réception de la valeur est terminée en arrière-plan . Pour le moment, les données ne peuvent pas être demandées. Vous pouvez donc envisager de modifier la requête ajax en essai synchrone.

  • les données doivent être écrites

Si les données sont vides, vous devez passer "{}" sinon, les données renvoyées seront au format xml. Et invite parsererror data : "{}"

L'exception de parsererror est également liée au type d'en-tête. et encoding header('Content-type: text/html; charset=utf8');

  • Les paramètres transmis

doivent être le format d'encodage pris en charge par ajax

  • Problème de chemin d'URL

Le chemin ne peut pas contenir de caractères chinois

Généralement, on peut juger de la cause de l'erreur en analysant certains paramètres de l'erreur :

XMLHttpRequest.readyState : Code d'état

0 - (non initialisé) La méthode send() n'a pas encore été appelé

1 - (Chargement) La méthode send() a été appelée et la requête est en cours d'envoi

2 - (Chargement terminé) La méthode send() a été exécutée et tout le contenu de la réponse a été reçu

3 - (Interaction) Le contenu de la réponse est en cours d'analyse

4 - (Terminé) L'analyse du contenu de la réponse est terminée et

XMLHttpRequest.status peut être appelé sur le client : Appelez le statut de la requête http

Il existe de nombreuses requêtes statuts. Si vous rencontrez des codes de statut d’erreur spécifiques, vous pouvez les interroger sur Baidu.

XMLHttpRequest.responseText : message d'erreur renvoyé

Si une erreur se produit, le message d'erreur (deuxième paramètre) peut être "timeout", "error", "notmodified" et "parsererror" en plus de null.

【Recommandation de didacticiel connexe : Tutoriel vidéo AJAX

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie top en HTML5Article suivant:Que signifie top en HTML5