Maison  >  Article  >  interface Web  >  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.

韦小宝
韦小宝original
2018-01-15 11:31:161698parcourir

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 :

135010a86df6b8b9b30f3491e7374b112cacc6d41bbb37262a98f745aa00fbf0

Code jQuery :


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

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


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 :

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(&#39;Content-Type:text/html;Charset=utf-8&#39;); 
$arr = array( 
 "name" => "xiaoming", 
 "pass" => "123456"
); 
echo $_GET[&#39;jsoncallback&#39;]."(".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, 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 :