Maison > Article > interface Web > Résumé de l'utilisation de json et jsonp
Cette fois, je vais vous apporter un résumé de l'utilisation de json et jsonp. Quelles sont les précautions lors de l'utilisation de json et jsonp. Ce qui suit est un cas pratique, jetons un coup d'oeil.
json
1. La valeur de json peut être des types suivants :
① Nombre (entier ou flottant numéro de point) , tel que 123, 1.23
② String (entre guillemets)
③ Valeur logique (vrai ou faux)
④ Tableau (entre entre crochets)
⑤ Objet (entre accolades)
⑥ null
2. ① eval('(' + jsondata + ')' ); Il est toujours dangereux à utiliser, injection de code
② JSON.parse(jsondata);JSONLint json : outils de vérification de chaîne3. jQuery implémente ajax
jQuery.ajax([settings])
type : typeurl : envoyer la demande adresse data : est un objet, ainsi que les données envoyées au serveur par la requête dataType : letype de données
qui devrait être renvoyé par le serveur, si non spécifié, jQuery fera automatiquement un jugement intelligent sur la base des informations MIME du package HTTP. Généralement, nous utilisons le format json, qui peut être défini sur "json"succès : c'est une méthode. La requête est réussie, la fonction de rappel
est transmise et renvoyée. Les données suivantes et la chaîne contenant le code de réussite jsonpCross-domain
La composition d'un domaine adresse du nom :
http://www .abc.com:8080/scripts/jquery.jsProtocole://nom du sous-domaine : numéro de port/adresse de la ressource de demande Lorsque l'un des protocoles, noms de sous-domaines, noms de domaines principaux et numéros de port échoue, il est compté comme un domaine différentDifférents domaines demandant des ressources les uns aux autres sont comptés comme des « cross- domain"javascript
Pour des raisons de sécurité, les appels inter-domaines vers des objets sur d'autres pages ne sont pas autorisés.Traitement inter-domaines méthode :
- Le proxy (appartenant à la technologie d'arrière-plan), par exemple, appelle le service du serveur de Shanghai en arrière-plan du serveur Web de Pékin, puis renvoie le résultat de la réponse au front-end, donc que le front-end appelle le serveur avec le même nom de domaine à Pékin et appelle Shanghai L'effet de service est le même.
—— JSONPun nom de domaine à déclarer, b nom de domaine à appeler Remarque : JSONP ne peut être utilisé que pour les requêtes GET, et ne prend pas en chargeRequêtes POST
(Limitations) Le XMLHttpRequest Level2 fourni par HTML5 a implémenté l'accès inter-domaines et d'autres nouvelles fonctionnalitésLes versions inférieures à IE10 ne sont pas pris en charge Apportez simplement quelques petites modifications côté serveur : header("Access-Control-Allow-Origin:"); signifie que tous les serveurs peuvent y accéder, ou qu'il peut être remplacé. avec un nom de domaine spécifique, par exemple : le serveur est à Shanghai, * est remplacé par le nom de domaine du serveur de Pékin, afin que seul le nom de domaine de Pékin soit accessible header("Access-Control- Allow-Methods:POST,GET"); Parlons des avantages et des inconvénients de jsonp.Politique de même origine : JavaScript ne peut accéder qu'au contenu du même domaine que le document le contenant. jsonp peut couvrir la même politique d'origine. Lorsque nous utiliserons jsonp, ce sera un autre protocole de communication.
L'avantage de JSONP est qu'il n'est pas limité par la même politique d'origine que la requête Ajax implémentée par l'objet XMLHttpRequest ; il a une meilleure compatibilité et peut s'exécuter dans les navigateurs plus anciens sans le support de XMLHttpRequest ou d'ActiveX ; est terminé, le résultat peut être renvoyé en appelant le rappel.
Les inconvénients de JSONP sont : il ne prend en charge que les requêtes GET mais pas les autres types de requêtes HTTP telles que POST ; il ne prend en charge que les requêtes HTTP inter-domaines et ne peut pas résoudre le problème de la façon dont deux pages de domaines différents interagissent avec les uns les autres. Problèmes lors des appels JavaScript.
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 :
Ajustement de l'ordre d'exécution ajax dans jquery
Explication détaillée des exemples Ajax et $.ajax
Comment faire une requête ajax pour la page de surveillance avec jQuery
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!