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)的 |
时间: 2024-09-20 18:00:03