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!