Maison  >  Article  >  développement back-end  >  Solution d'erreur à parsererror sous requête inter-domaine ajax

Solution d'erreur à parsererror sous requête inter-domaine ajax

小云云
小云云original
2018-01-08 13:23:534514parcourir

Cet article vous apporte principalement une solution parfaite à l'erreur parsererror lors d'une requête inter-domaine ajax. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.

L'erreur parsererror signalée par la requête ajax est un concept très large. Cette erreur est signalée dans de nombreux cas

Dans de nombreux cas, même si ajax soumet et renvoie normalement,

XMLHttpRequest.status=200 (réponse normale)


XMLHttpRequest.readyState=4 (réception normale)


ajax provoquera également une erreur d'analyse .

Cette erreur est principalement causée par de mauvaises habitudes d'écriture ou une grammaire incorrecte

Pour les erreurs ajax, veuillez utiliser :

error:function(XMLHttpRequest, textStatus, errorThrown){
   $("p").html(textStatus);
   $("p").append("<br/>"XMLHttpRequest.status);
   $("p").append("<br/>"XMLHttpRequest.readyState);
   $("p").append("<br/>"XMLHttpRequest.responseText);
}
ou :


.

$("p").ajaxError(function(event,request, settings){
   $(this).append("<li>出错页面:" + settings.url + "</li>");
});
Obtenir des informations relatives aux erreurs pour analyse.


textStatus renvoie null, "timeout", "error", "notmodified" et "parsererror".


L'objet XMLHttpRequest peut utiliser status, readyState, ResponseText et d'autres attributs pour obtenir le code HTTP, l'état de traitement et le contenu textuel renvoyés par le serveur

Dans le processus d'utilisation d'ajax. et le développement d'applications associées, les programmes doivent être écrits conformément aux normes pour réduire les risques d'erreurs


Cette norme inclut la syntaxe, le format des données, la ponctuation, etc.

Dans les requêtes croisées ajax. , si les données sont vides, veuillez utiliser ;


data:"{}",

Lorsque le serveur de traitement ajax renvoie les données au format Json, si la méthode $.parseJSON() est utilisé,

alors Le format de données Json renvoyé par le serveur doit être écrit au format Json standard


doit être entouré de guillemets doubles au lieu de guillemets simples pour les valeurs. ​et les types booléens ne sont pas utilisés pour null.


Cela est principalement dû à la différence entre les guillemets simples et les guillemets doubles dans certaines anciennes versions de jquery, ce qui entraîne des invites d'erreur.

Dans requêtes inter-domaines ajax (jsonp), le format de données renvoyé par le serveur doit être :


myCallbackFunction({"id":1,"name":"C#","is_familiar":true });


Veuillez noter le point-virgule à la fin de cette fonction ";" doit être ajouté,


Sinon, s'il y a plusieurs requêtes ajax sur la même page , et lorsque les données ne sont pas renvoyées, lorsque d'autres requêtes ajax sont émises,


Un message d'erreur parsererror peut apparaître.

Ce type d'erreur est très caché et difficile à trouver pendant développement. Il est facilement exposé lors de tests simultanés.

Recommandations associées :

Solution au problème de perte de cookies dans l'accès inter-domaines Ajax_AJAX lié

JS implémente le contenu de réponse du flacon de requêtes inter-domaines Ajax

Exemples détaillés des principes des requêtes inter-domaines 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