标签:
我们知道json是一种交互式数据格式,在前后端交互数据的时候,我们需要一种万金油是的数据格式,恰好json就可以完成这个使命,
再说到jsonp,浏览器是拒绝跨域请求数据,也就是说我们不能在跨站点取数据,这个网景公司提出来的一个安全机制,那我们如果,
在不同站点想取数据要怎么办呢?当然有需求就有办法,浏览器虽然拒绝我们用ajax的方式请求数据,但是它不拒绝用script标签的跨域
请求,具体的原生实现方式我这几就不纠结了,我们来说说jquery是如何封装的jsonp,jquery封装jsonp是跟ajax放在一起的,让我们
误以为是ajax请求,其实从原理上来说根本不是一回事,下面有一个jquery实现jsonp的实例:
$(function(){
$("p").on("click",function(){
$.ajax({
type:"POST",
url:"http://console.local.com/ajax/?a=register",
data:{"act":"approve","status":1,"main_guid":"36DF85544BA251E5E050A8C00A019688"},
// jsonp:"jsoncallback",
dataType : ‘jsonp‘,
callback:function(json){
alert("fuick");
}
});
// $.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) {});
});
});
大体上来看和ajax用的方法是差不多,而且调用的是同一个方法,只不过参数里面多了一个dataType:jsonp,
这就是jquery封装jsonp的方式,一般dataTpye:默认是json,也就是dataType:data;
标签:
原文地址:http://www.cnblogs.com/sunke/p/5694553.html