用jQuery的getJSON方法实现跨域

在jQuery 1.2及以后的版本中可以用$.getJSON()来实现跨域访问,手册中说是应用了一种叫做JSONP的技术,不过现在还没有搞明白到底是个什么东西,先用上再说。

jQuery.getJSON(url, [data], [callback]);

url:发送请求地址。
data:可选发送的参数,key/value 对。
callback:可选载入成功时的回调函数。

要使用JSONP的形式可以在请求地址后加上形如“callback=?”的参数,jQuery会自动替换 ? 为正确的函数名,以执行回调函数。


手册上的例子

$.getJSON("http://api.flickr.com/services/feeds/
photos_public.gne?tags=cat&tagmode=any
&format=json&jsoncallback=?", function(data){
$.each(data.items, function(i, items){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if(i == 3) return false;
});
});

有一点要注意的是,在服务器端处理的时候,需要获取JSONP使用的参数,输出的时候要用。

$callback = $_GET['callback'];
$t = $_GET['t'];
echo $callback . "({webname:'$t'})"; //注意这里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值