jsonp-小结(1)

1、什么是jsonp?
        JSON with Padding  :  是json的一种使用模式,可以让网站从别的域名获取资料,即跨域获取数据。
        jsonp是一种非正式的传输协议。

2、为什么要使用jsonp?
        受同源策略的限制,不同协议、域名、端口的网站不能相互访问页面信息和数据。
 

3、jsonp核心原理:
        目标页面回调本地页面的方法,并传入参数。
 

4、json和jsonp的区别?
        json是一种轻量级的数据交换格式,而jsonp是数据的(跨域)获取方式。
 

5、jsonp跨域原理:
        在同源策略的限制下,在某个服务器下的页面无法获取到服务器意外的数据,但img、iframe、script等标签可以通过src属性请求到其他服务器下的数据。利用script标签的开放策略,可以实现跨域请求数据,但这也需要服务器的配合。
        当正常地请求一个JSON数据的时候,服务端返回的是一串JSON类型的数据,而使用JSONP模式来请求数据的时候,服务端返回的是一段可执行的JavaScript代码。
 

6、在jQuery中如何通过JSONP来跨域获取数据?
    1)在ajax函数中设置dataType为'jsonp'
            eg:
             $.ajax({
                dataType: 'jsonp',
                url: 'http://www.a.com/user?id=123',
                success: function(data){
                        //处理data数据
                }
            });
 
     2)利用getJSON来实现,只要在地址中加上callback=?参数即可
            eg:
              $.getJSON('http://www.a.com/user?id=123&callback=?',                                 function(data){
                          //处理data数据
               });
 

 
posted @ 2018-11-26 10:13  浅陌。  阅读(207)  评论(0编辑  收藏  举报