Cet article présente principalement les trois méthodes de jQuery utilisant JSONP pour réaliser l'acquisition de données inter-domaines. Il compare et analyse également trois techniques de fonctionnement courantes de l'acquisition de données inter-domaines jsonp sous forme d'exemples. à cela. J'espère que cela pourra aider tout le monde.
La première méthode consiste à définir le dataType sur 'jsonp' dans la fonction ajax
$.ajax({ dataType: 'jsonp', url: 'http://www.a.com/user?id=123', success: function(data){ //处理data数据 } });
Le deuxième méthode La première méthode consiste à utiliser getJSON, ajoutez simplement le paramètre callback=? à l'adresse
$.getJSON('http://www.a.com/user?id=123&callback=?', function(data){ //处理data数据 });
La troisième méthode consiste à utiliser la méthode getScript
//此时也可以在函数外定义foo方法 function foo(data){ //处理data数据 } $.getScript('http://www.a.com/user?id=123&callback=foo');
Exemple de procédure pas à pas :
index.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>jsonp</title> <script src="jquery-1.8.0.min.js"></script> <script> $.ajax({ type : "post", url : "jsonp.php?name=zhaoxiace&age=30", dataType : "jsonp", jsonp: "callbackParam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"callbackFunction",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(data){ console.log(data.statusCode + "/" + data.message + "/" + data.name + "/" + data.age); }, error:function(){ alert('请求失败'); } }); </script> </head>
jsonp. php
<? $data["age"] = $_GET['age']; $data["name"] = $_GET['name']; $data["statusCode"]="200"; $data["message"]="成功"; $tmp= json_encode($data); //json数据 echo $callback . '(' . $tmp .')'; //返回格式,必需 ?>
Recommandations associées :
Comment effectuer une communication interdomaine en html5
jQuery Jsonp cross- Exemple de moteur de recherche de simulation de domaine Partager
Native JS implémente les requêtes ajax et ajax inter-domaines
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!