Maison > Article > interface Web > JQuery utilise $.ajax ou $.getJSON pour obtenir des données JSON sur tous les domaines.
Cet article présente principalement le code d'implémentation de JQuery utilisant $.ajax ou $.getJSON pour obtenir des données JSON sur tous les domaines. Les amis qui ne sont pas familiers avec jquery peuvent se référer à cet article
Les données JSON peuvent être obtenues sur plusieurs domaines via JQuery, mais il faut comprendre que JQuery ne peut obtenir de données dans aucun format JSON sur plusieurs domaines. Les données JSON spécifiques pour la lecture inter-domaines par JQuery doivent être générées via le serveur. Vous n’en avez peut-être encore aucune idée, et ce n’est pas grave. Cet article présentera cette technologie de la manière la plus simple et la plus compréhensible. Je pense que tout le monde peut facilement la comprendre et l’appliquer.JQuery obtient des données JSON dans le même domaine
Tout d'abordcitez le fichier de la bibliothèque jQuery :
135010a86df6b8b9b30f3491e7374b112cacc6d41bbb37262a98f745aa00fbf0Code jQuery :var url="http://localhost:8000/user.php"; $(function(){ $.getJSON(url,function(data){ alert (data.name); }) });
<?php header('Content-Type:text/html;Charset=utf-8'); $arr = array( "name" => "xiaoming", "pass" => "123456" ); echo json_encode($arr); ?>
Le serveur renvoie
: {"name": "xiaoming " ,"pass":123456}
JQuery obtient des données JSON inter-domainesCitez d'abord le fichier de la bibliothèque jQuery :
1cf312b90d3e0cac58301be3cacfd7752cacc6d41bbb37262a98f745aa00fbf0
Code jQuery :
Code du serveur (PHP) :var url="http://localhost:8000/user.php?jsoncallback=?"; $(function(){ $.getJSON(url,function(data){ alert (data.name); }) });Le serveur renvoie une chaîne (il faut passer le paramètre "jsoncallback") :
<?php header('Content-Type:text/html;Charset=utf-8'); $arr = array( "name" => "xiaoming", "pass" => "123456" ); echo $_GET['jsoncallback']."(".json_encode($arr).")"; ?>
jQuery19003894091040769696_1505708469340({"name":"xiaoming","pass" :123456 })
Explication, la valeur transmise par jQuery est différente à chaque fois.
La différence entre JQuery obtenant des données JSON dans le même domaine et entre domaines Points :1) La méthode d'écriture de jQuery est différente Lors de la traversée de domaines, vous devez ajouter. un paramètre supplémentaire "jsoncallback=?"
2) La méthode d'écriture de retour des chaînes côté serveur est différente Lors de la traversée de domaines, vous devez utiliser la valeur d'entrée " 'jsoncallback'", le format de chaîne construit est. : valeur d'entrée jsoncallback (chaîne JSON d'origine), veillez à utiliser des parenthèses pour envelopper la chaîne JSON d'origine. RésuméGrâce à l'introduction de cet article, tout le monde doit comprendre que si vous souhaitez que jQuery lise les données JSON sur plusieurs domaines, vous devez d'abord construire une chaîne JSON spéciale côté serveur, sinon il ne sera pas lu. Heureusement, laméthode de construction
est très simple, et vous pouvez la comprendre d'un coup d'œil avec les exemples de l'article.jQuery + Ajax pour obtenir des données JSON inter-domaines
L'exemple précédent utilisait $.getJSON pour obtenir des données JSON inter-domaines. En fait, nous utilisons le $. Méthode .ajax La même chose est possible.Citer d'abord le fichier de la bibliothèque jQuery :