Maison > interface Web > js tutoriel > le corps du texte

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

小云云
Libérer: 2018-02-02 13:39:27
original
1699 Les gens l'ont consulté

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 :

Code jQuery :


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

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); 
?>
Copier après la connexion

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 :

Code jQuery :


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

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).")"; 
?>
Copier après la connexion

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 :

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!