jsonp跨域解析

来源:互联网 发布:深圳证券通信 知乎 编辑:程序博客网 时间:2024/05/12 20:58
<script>
function func(data){
  console.log(data);
}
</script>
<script src="http://news.auto.sina.com.cn/m/label/get_label_info.php?label=%E8%BD%A6%E8%81%94%E7%BD%91&length=2&page=1&callback=func"></script>

<!-- 引入jquery包 -->
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(function(){
$.ajax({
    url: 'http://news.auto.sina.com.cn/m/label/get_label_info.php?label=%E8%BD%A6%E8%81%94%E7%BD%91&length=2&page=1',
    dataType:'jsonp',
    success:function(res){
        console.log(res);
    }
});
});
</script>
script可以引用其他地方的js文件,如cdn上的jquery文件。<br />
而引用的文件是一个js代码文件<br />
引用的js内可以写些方法,或调用本页面上的方法如callback({name:1})<br />
这就是jsonp为什么能访问远程的方法<br />
而callback函数需要本地定义才行,如果没有会报错<br />
而js输入文件可以由后台的Php输入js代码。<br />
所以jsonp输出的是js代码,代码里调用了本地的函数。这样就可以获取到参数了<br />
而json返回的是文件<br />

script可以引用js代码文件,这些代码可以由程序来输入<br />
0 0