A-A+
jquery读取jsonp数据示例
读取jsonp数据的方法有蛮多的,下面来为大家介绍一个利用jquery来读取jsonp数据,希望文章对大家有帮助。
jquery读取jsonp数据,下面以PHP作为jsonp的返回服务端页面,用jquery的$.getJSON获取jsonp数据
示例PHP代码:
- $callback = $_GET["callback"];
- $a = array(
- 'name'=>'张三',
- 'sex'=>'男',
- 'age'=>24,
- 'name'=>'李四',
- 'sex'=>'男',
- 'age'=>26,
- );
- $result = json_encode($a);
- echo "$callback($result)";
- exit;
jquery代码:
- $.getJSON("http://你的域名 /jsonp.php?callback=?",function(json){
- console.log(json.name);
- });
测试发现getJSON 的callback 只能是 =? 不能是其他名字,如果是其他名字就提示跨域了,完整的ajax写法是可以的,如下:
- $.ajax({
- type: "GET",
- url:"http://你的域名/jsonp.php",
- dataType: "jsonp",
- jsonp: "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
- jsonpCallback:"test", //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
- success: function(json){
- console.log(json.name);
- },
- error: function(){
- console.log("fail");
- }
- });
- });
- //用$.ajax的方式是可以执行test(arr)的
- function test(arr){
- console.log(arr.name)
- }