JSONP

原创 2018年04月16日 15:30:49
       JSONP是JSONwithpadding(填充式JSON或参数式JSON)的简写,是应用JSON的一种新方法,在后来的Web服务中非常流行。JSONP看起来与JSON差不多,只不过是被包含在函数中的JSON。
collback({"name":"NINI"});

      JSONP是由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面总调试的函数。回调函数的名字一般食杂请求中指定的。而数据就是传入回调函数中的JSON数据。

http://freegeo.net/json/?callback=handleResponse
// 这里URL是在请求一个JSONP地理位置服务。通过查询字符串来之指定JSONP服务的毁回调参数是很创建的,就像URL所示,这里指定的回调函数的名字就handleRESponse

    JSONP 是通过动态<script> 来使用,使用时可以为src属性指定一个跨域URL。这里的<script> 元素与<img>元素类似,都有能力不受限制地从其他域加载资源。因为JSONP是有效的JavaScript代码,所以在请求完成后,即在JSONP响应加载到页面中以后,就会立刻执行。

     JSONP之所以在开发人员中极为流行,主要原因是它非常简单易用。与图像Ping相比,它的优点在于能够直接访问相应文本,支持浏览器与服务器之间的双向通信。    

   优点

1.它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制,JSONP可以跨越同源策略;
2.它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持
3.在请求完毕后可以通过调用callback的方式回传结果。将回调方法的权限给了调用方。这个就相当于将controller层和view层终于分 开了。我提供的jsonp服务只提供纯服务的数据,至于提供服务以 后的页面渲染和后续view操作都由调用者来自己定义就好了。如果有两个页面需要渲染同一份数据,你们只需要有不同的渲染逻辑就可以了,逻辑都可以使用同 一个jsonp服务。

   缺点

1.它只支持GET请求而不支持POST等其它类型的HTTP请求
2.它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
3.jsonp在调用失败的时候不会返回各种HTTP状态码。
4.缺点是安全性。万一假如提供jsonp的服务存在页面注入漏洞,即它返回的javascript的内容被人控制的。那么结果是什么?所有调用这个 jsonp的网站都会存在漏洞。于是无法把危险控制在一个域名下…所以在使用jsonp的时候必须要保证使用的jsonp服务必须是安全可信的

   

C++中的文件输入/输出(5):二进制文件的处理

C++中的文件输入/输出(5)原作:Ilia Yordanov,  loobian@cpp-home.com 二进制文件的处理 虽然有规则格式(formatted)的文本(到目前为止我所讨论的所有文件...
  • Kusk
  • Kusk
  • 2003-08-24 15:33:00
  • 8230

httpclient

  • 2018年01月08日 11:56
  • 8KB
  • 下载

js跨域jsonp的使用

  • 2015年08月04日 14:36
  • 4.53MB
  • 下载

jsonp 使用例子

  • 2016年01月26日 21:15
  • 498KB
  • 下载

jQuery中JSONP的两种实现方式简单解释

前台代码如下:(jsonp的方式可以简单的理解为会给前端生成一个回调函数,而不需要自己编写,当然也是可以自己编写的) 后台Action代码如下: 运行后就可以看到结果了。我追踪了下后台Pr...
  • u012225679
  • u012225679
  • 2017-06-05 14:06:16
  • 1595

JSONP(手写一个跨域组件)

在客户端调用提供JSONP支持的URL Service,获取JSONP格式数据。 比如客户想访问http://www.yiwuku.com/myService.aspx?jsonp=callbackF...
  • zxiang248
  • zxiang248
  • 2016-09-23 08:44:35
  • 1734

jsonp的原理,应用场景,优缺点

在开发测试中,难免会在不同域下进行跨域操作,出于安全性考虑,浏览器中的同源策略阻止从一个域上加载的脚本获取或者操作另一个域下的文档属性,这时需要进行跨域的方式进行解决,如:使用jsonp ,ifram...
  • jian_xi
  • jian_xi
  • 2017-03-26 13:21:25
  • 4312

简单透彻理解JSONP原理及使用

什么是JSONP首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都...
  • u011897301
  • u011897301
  • 2016-09-27 14:54:44
  • 37702

手写一个jsonp

(function (window,document) { "use strict"; var jsonp = function (url,data,callback) { ...
  • kumayato
  • kumayato
  • 2017-06-13 09:46:52
  • 1698

jsonp代码格式转换

@RequestMapping(value="/pagealltype",method={RequestMethod.GET,RequestMethod.POST}) public   void  ...
  • Wchenyang
  • Wchenyang
  • 2017-04-17 16:01:28
  • 571
收藏助手
不良信息举报
您举报文章:JSONP
举报原因:
原因补充:

(最多只允许输入30个字)