Jsonp (JSON with Padding) est un "mode d'utilisation" de json, qui permet aux pages Web d'obtenir des données d'autres noms de domaine (sites Web), c'est-à-dire de lire des données sur plusieurs domaines.
Pourquoi avons-nous besoin d'une technologie spéciale (JSONP) pour accéder aux données de différents domaines (sites Web) ? Cela est dû à la politique de même origine.
La politique de même origine est une politique de sécurité bien connue proposée par Netscape.Tous les navigateurs prenant en charge JavaScript utilisent désormais cette politique.
Tout d'abord : jsonp est un outil utilisé par json pour traverser des domaines.
Le principe est de contourner la politique de même origine grâce à la fonctionnalité cross-domain de la balise script.
Testé et expérimenté :
Expéditeur :
$.ajax({ type : "post", url : "ajax.php", dataType : "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"jsonpcallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(json){ alert('success'); }, error:function(){ alert('fail'); } });
Côté serveur (php) :
<?php $data = "aaa"; $callback = $_GET['callback']; echo $callback.'('.json_encode($data).')'; exit; ?>