JSONP

来源:互联网 发布:支付宝端口申请 编辑:程序博客网 时间:2024/06/03 14:04

1、跨域:
一个域名下的文件, AJAX 去请求另外一个域名下的文件就跨域了,它是由浏览器的同源策略造成的是浏览器对 JavaScript 施加的安全限制
怎么看当前界面是不是属于其他网站,主要是从这几个参数看是否同源:所谓同源是指域名、协议、端口均相同(任意一个不同都属于跨域)

2、JSONP 解决跨域
① JSONP:JSON with Padding // 嵌入的 JSON 数据
② 除了 AJAX 可以获取资源,flash 也可以获取资源,还有一个就是我们最常见的也可以获取资源:标签----img、link、script等等
③ JSONP 不是新东西,就是以前学过的东西,做点小操作实现跨域
④ 复习 script 标签:script标签可以加载资源 < script src = " test.js "></ script>
script 标签加载资源没有跨域问题:用百度地图 API 时:
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥">
⑤ JSONP原始模式
在资源加载进来之前定义好一个函数,这个函数接受一个参数(数据),函数里面利用这个参数就可以使用数据了,然后需要的时候就通过 script 标签加载对应的远程文件资源,当远程文件资源被加载进来以后,就会去执行我们之前定义好的函数,并且把数据当作这个函数的实参传入 。Padding的意思就是把数据嵌入到代码块中(函数调用)


⑥ JSONP 的使用:
我们最后一次优化是把回调函数的名字传给服务器,前端把回调函数取什么名字,后端就直接拿过来用
原创粉丝点击