jQuery 实现跨域
跨域在获取数据时,时不时会遇到。
什么是跨域:
例如:
a.cnblogs.com
b.cnblogs.com
cnblogs.com
域名下的内容信息通信
在jQuery中的解决跨域的方法有两种getJSON和ajax
方法一:
var _url='http://www.a.cnblogs.com'; $.getJSON(_url,function(data){ console.log(data); })
方法二:
var _url='http://www.a.cnblogs.com'; $.ajax({ url:_url, data:{a:'123',b:'abc'}, type:'POST', async:false, success:function(data){ console.log(data.info); } })
JSONP写法:
var _url='http://www.a.cnblogs.com'; $.ajax({ url:_url, data:{a:'123',b:'abc'}, type:'POST', async:false, dataType:'jsonp', callback:'jsoncallback', success:function(data){ console.log(data.info); } })
响应内容
jsoncallback=jQuery14632134656
前端同学与后台信息数据通信时,得到的JSON数据的表现形式分为3种
1)
{aa:'1',info:{b1:'mm',b2:'gege'}}
2)
var infos={aa:'1',info:{b1:'mm',b2:'gege'}}
3)
jQuery14632134656({aa:'1',info:{b1:'mm',b2:'gege'}})
Ann比较喜欢第三种jsonp数据格式