Maison  >  Article  >  interface Web  >  Un traitement parfait des données JSON ne peut pas réussir

Un traitement parfait des données JSON ne peut pas réussir

php中世界最好的语言
php中世界最好的语言original
2018-04-25 14:56:381929parcourir

Cette fois, je vais vous apporter les précautions qui ne peuvent pas réussir lors du traitement parfait des données json, et ne peuvent pas réussir lors du traitement parfait des données json. Ce qui suit est un cas pratique, prenons. un coup d'oeil ensemble.

1. jquery obtient les données json via la méthode ajax et n'exécute pas le rappel de réussite

Description du problème : jquery obtient les données json via la méthode ajax et ne s'exécute pas. la méthode de rappel de réussite

Cause du problème : Il y a un problème avec le format json ou il n'est pas conforme à la méthode d'écriture standard, ce qui fait que la méthode de rappel d'erreur est toujours exécutée

Solution : Le format json doit respecter les 3 méthodes d'écriture standards suivantes :

  1 ) Nom de la clé : entre guillemets doubles

2) chaîne : entre guillemets doubles ; ;

3) Les nombres et les valeurs booléennes n'ont pas besoin d'utiliser des guillemets doubles.

Remarque : ils doivent être doubles !

2. Dans jQuery, ajax utilise le type de données json ignore toujours l'instruction d'erreur d'exécution réussie

Exécutez la fonction

error : function(XMLHttpRequest, textStatus, errorThrown) {
//这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
    alert(XMLHttpRequest.responseText); 
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus); // parser error;
}

et vous comprendrez le message d'erreur ; la pop-up de

affiche :

<!DOCTYPE html PUBLIC "-//W3C //DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD /xhtml1-transitional.dtd">以 及<?xml version="1.0" encoding="gb2312" ?>

ces deux phrases, même si je ne sais pas pourquoi. Après l'avoir supprimée, le succès a été exécuté avec succès

3 Lorsque l'URL dans $.ajax() traverse des domaines, le succès est toujours. non exécuté et une erreur se produit toujours

1) J'ai ajouté ServletActionContext.getResponse().setHeader("Access-Control-Allow-Origin", "* ");

Résolvez le problème inter-domaines et entrez dans le succès en douceur

2) dataType : "json",

Supprimez-le et voyez si vous pouvez entrer dans le succès.

dataType est le type d'informations qui devraient être renvoyées par le serveur.

Raison : Le type de données renvoyé doit être conforme au type de données défini. Autrement dit, si le dataType que vous définissez est de type json, alors les données renvoyées doivent être json, sinon le bloc de programme en erreur sera exécuté.

(1) Dans le même temps, une attention particulière doit être accordée à savoir si les données JSON renvoyées sont au format JSON strict

(2) Vous devez également vous inquiéter sérieusement lors de l'arrière-plan. renvoie une donnée de liste (les éléments de la liste Lorsque les données sont au format JSON), s'il y a des données sales, elles ne sont pas au format JSON strict.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Quels types de données ajax peut-il gérer renvoyées par le serveur ?

Afficher la progression lors de la requête 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