Maison > interface Web > js tutoriel > JQuery utilise $.ajax ou $.getJSON pour obtenir des données JSON sur tous les domaines.

JQuery utilise $.ajax ou $.getJSON pour obtenir des données JSON sur tous les domaines.

韦小宝
Libérer: 2018-01-15 11:31:16
original
1727 Les gens l'ont consulté

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'abord

citez le fichier de la bibliothèque jQuery :

Code jQuery :


Code du serveur (PHP) :
var url="http://localhost:8000/user.php";
$(function(){
 $.getJSON(url,function(data){
 alert (data.name);
})
});
Copier après la connexion

<?php 
header(&#39;Content-Type:text/html;Charset=utf-8&#39;); 
$arr = array( 
 "name" => "xiaoming", 
 "pass" => "123456"
); 
echo json_encode($arr); 
?>
Copier après la connexion


Le serveur renvoie

Chaîne

 : {"name": "xiaoming " ,"pass":123456}

JQuery obtient des données JSON inter-domaines

Citez d'abord le fichier de la bibliothèque jQuery :

Code jQuery :

Code du serveur (PHP) :
var url="http://localhost:8000/user.php?jsoncallback=?";
$(function(){
 $.getJSON(url,function(data){
 alert (data.name);
})
});
Copier après la connexion

Le serveur renvoie une chaîne (il faut passer le paramètre "jsoncallback") :
<?php 
header(&#39;Content-Type:text/html;Charset=utf-8&#39;); 
$arr = array( 
 "name" => "xiaoming", 
 "pass" => "123456"
); 
echo $_GET[&#39;jsoncallback&#39;]."(".json_encode($arr).")"; 
?>
Copier après la connexion

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, la

mé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 :

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal