Maison >interface Web >js tutoriel >À propos du code de jQuery pour utiliser $.ajax ou $.getJSON pour réaliser une acquisition inter-domaines de données JSON

À propos du code de jQuery pour utiliser $.ajax ou $.getJSON pour réaliser une acquisition inter-domaines de données JSON

小云云
小云云original
2018-02-02 13:39:271752parcourir

Les données JSON peuvent être obtenues sur plusieurs domaines via JQuery, mais il faut comprendre que JQuery ne peut pas obtenir de données dans n'importe quel 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.

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 en ont besoin pourront s'y référer. J'espère qu'il sera utile à tout le monde. .

JQuery obtient des données JSON dans le même domaine

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

ad1907f934978af27364c0fe4799b0182cacc6d41bbb37262a98f745aa00fbf0

Code jQuery :


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

Code du serveur (PHP) :


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

Chaîne de retour du serveur :

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

JQuery obtient des données JSON inter-domaines

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

4e40e91005bf12bf2814d7c92762a0432cacc6d41bbb37262a98f745aa00fbf0

Code jQuery :


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

Code du serveur (PHP) :


<?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).")"; 
?>

Chaîne de retour du serveur (à passer en paramètre "jsoncallback") :

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 tous les 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 les exemples de l'article peuvent être compris d'un seul coup d'œil.

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 :