`
zhongzhengmin
  • 浏览: 29304 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

js跨域访问

    博客分类:
  • JAVA
阅读更多
Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。
由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
JQuery下:
  1. $.getJSON
1
2
3
4
5
6
7
8
9
10
11
<script>
    $(document).ready(function() {
        function(data) {
            $.each(data.items,
            function(i, item) {
                $("<img/>").attr("src", item.media.m).appendTo("#images");
                if (i == 3) return false;
            });
        });
    });
jsoncallback=?,其中?会自动替换为function(data)函数。
 
2. $.ajax
1
2
3
4
5
6
7
8
9
$.ajax({
    dataType: 'jsonp',//数据类型为jsonp 
    data: 'id=10',
    jsonp: 'jsonp_callback', //服务端用于接收callback调用的function名的参数
    success: function() {
        // do stuff
    },
});
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics