jsonp
2015-11-05 16:50
337 查看
一:同源策略限制
由于受浏览器的限制,ajax方法不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。如果能控制数据驻留的远程服务器并且每个请求都前往同一个域,就可以避免这些安全错误。但是,如果仅停留在自己的服务器上,web应用程序还有什么用呢?如果需要从第三方服务器收集数据时,又该怎么办?
如图:在一个非www.baidu.com的域里ajax跨域请求www.baidu.com报错
同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的url的域必须与当前web页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。
二:什么是jsonp
JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成script tags返回至客户端,通过Javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)
script标签的跨域能力
如下图所示:百度首页调用的js不是在www.baidu.com域名下的js
三:JSONP有什么用
由于同源策略的限制,XMLHttpRequest只允许请求当前源(域名,协议,端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求,然后在服务器端输出JSON数据并执行回调函数,从而解决跨域的数据请求。
四:如何使用JSONP
五:josnp只能是get请求类型
由于受浏览器的限制,ajax方法不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。如果能控制数据驻留的远程服务器并且每个请求都前往同一个域,就可以避免这些安全错误。但是,如果仅停留在自己的服务器上,web应用程序还有什么用呢?如果需要从第三方服务器收集数据时,又该怎么办?
如图:在一个非www.baidu.com的域里ajax跨域请求www.baidu.com报错
同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的url的域必须与当前web页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。
二:什么是jsonp
JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成script tags返回至客户端,通过Javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)
script标签的跨域能力
如下图所示:百度首页调用的js不是在www.baidu.com域名下的js
三:JSONP有什么用
由于同源策略的限制,XMLHttpRequest只允许请求当前源(域名,协议,端口)的资源,为了实现跨域请求,可以通过script标签实现跨域请求,然后在服务器端输出JSON数据并执行回调函数,从而解决跨域的数据请求。
四:如何使用JSONP
五:josnp只能是get请求类型
相关文章推荐
- 11月9日 Meetup and talk about JS
- jstl中empty
- JSP到Servlet的编译过程初探
- Anjularjs 实施(跨域接口访问,高效修改)
- js获取iframe中的元素以及在iframe中获取父级的元素(包括iframe中不存在name和id的情况)
- JSP EL简介
- js 倒计时
- AnjularJS初学(AnjularJS跨域取值)
- 把一些表单属性封装一个JSON
- js键盘码
- AnjularJS初学(AnjularJS验证)
- js识别浏览器
- JavaScript高级程序设计之DOM 扩展之专有扩展之滚动第11.4.5讲
- 彻底理解JavaScript原型
- extjs操作组件的形式
- AnjularJS初学(模拟输入限制)
- JS将秒转化成时分秒
- python 抓取javascript 动态数据
- Javascript模块化编程(一):模块的写法
- 有用的js类库