`
snake_hand
  • 浏览: 575966 次
社区版块
存档分类
最新评论

JSONP的原理介绍

 
阅读更多

1.JSOP存在的必要性   参考1 ,2

  Ajax数据的获取需要遵循同源的策略,也就是需要使用相同的域名、端口、协议,所以要想获取不同域的数据就存在问题。因此基于此问题就衍生出了很多解决Ajax跨域的技术,譬如:服务器代理、img、iframe等等技术。 JSONP是JSON with padding的缩写。


 

2.JSONP的原理

  在本地创建一个回调函数,然后在跨域段调用该回调函数,并将JSON数据作为参数传递给回调函数,完成回调。


 

3.案例解析

  a.html需要跨域解决问题

  

<script>
    function aa(data){
         alert(data.message);
   }

   function loadScript(url){
       var script  =  document.createElement('script');
       script.setAttribute('type','text/javascript');
       script.src = url;
       document.body.appendChild(script);
  }

  window.onload = function(){
     
    var a = document.getELementById('aaa');
    a.onclick = function(){
        var url = "http://b.html?callback=aa";
        loadScript(url);
    }
  }
</script>

在b页面,执行回调函数,并将json数据作为参数填充到回调函数中,完成回调函数  

1.获取回调函数
2.然后执行回调函数
  var  data = {

     "message" :"sucess"
  }

  callback(data);

4.Ajax技术与JSONP技术的差别

   1.两种技术“看起来”很像,目的一样,都是请求一个URL,然后对从服务器端获取的数据进行处理;

   2.Ajax技术的核心是通过XMLHttpRequest对象来获取数据,而JSONP通过动态创建script,然后在服务器端执行回调函数完成数据的获取,采用的是两种完全不同的技术;

   3.区别不在于是否跨域,jsonp也可以解决同域的数据获取。


5.解决跨域的其他方法

  iframe、服务器代理、图片等等

1
5
分享到:
评论

相关推荐

    JSONP原理及简单实现

    主要介绍了JSONP原理及简单实现的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    jsonp原理.txt

    交接jsonp,轻松实现跨域方法的调用,很值得学习的东西

    JSONP原理以及示例.rar

    JSONP原理以及示例.rar

    跨域_jsonp_原理.js

    跨域_jsonp_原理,了解json的原理,等于我们掌握json的技术有帮助

    JSONP实现原理

    JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的...

    js跨域jsonp的使用

    jsonp的原理 jsonp的使用,使用jsonp解决js跨域问题!

    通过实例解析json与jsonp原理及使用方法

    1.json与jsonp的引入 在ajax中 JSON用来解决数据交换问题,而JSONP来实现跨域。 备注:跨域也可以通过服务器端代理来解决; 理解:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方...

    jsonp原理及使用

    jsonp 全称是JSON with Padding,是为了解决跨域请求资源而产生的解决方案。下面让我们了解一下是如何使用的吧。

    跨域解决方案Jsonp原理解析

    主要介绍了跨域解决方案Jsonp原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    JSONP原理及应用实例详解

    主要介绍了JSONP原理及应用实例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    浅析JSONP技术原理及实现

    主要介绍了浅析JSONP技术原理及实现 的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    基于JSONP原理解析(推荐)

    下面小编就为大家推荐一篇基于JSONP原理解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    JSONP跨域的原理解析及其实现介绍

    JSONP跨域GET请求是一个常用的解决方案,下面我们来看一下JSONP跨域是如何实现的,并且探讨下JSONP跨域的原理

    详细分析jsonp的原理和实现方式

    针对跨域问题,本文主要给大家详细分析一下jsonp的原理,希望能够给你提供到帮助。 详细分析jsonp的原理和实现方式 一:跨域问题。 二,跨域产生的原因 Js是不能跨域请求。出于安全考虑,js设计时不可以跨域。 什么...

    Jsonp 跨域的原理以及Jquery的解决方案

    JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。

Global site tag (gtag.js) - Google Analytics