1、什么是jsonp
说到jsonp这门技术,我们先来了解下javascript中的同源策略。
同源策略
同域名(或ip)、同端口、同协议视为同一个域;一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全限制称为同源策略。
是不是感觉很懵逼?下面我们用几个问答,来详解下同源策略。
1.1、 怎么辨别同一个域
http://www.baidu.com 与 https://www.baidu.com
协议不同,所以不是同一个域
http://127.0.0.1:8080 与 http://127.0.0.1:8081
端口不同,所以不是同一个域
http://www.tmall.com与http://www.taobao.com
域名不同,所以不是同一个域
http://blog.csdn.net/column.html与http://blog.csdn.net/experts.html
域名(blog.csdn.net)、端口(80)、协议(http)三个都相同,所有是用一个域。
1.3、怎么理解本域脚本只能读取本域内的资源
我们自己的网站可以读写自己域名的Cookie,可不可以读取其他网站域名的Cookie呢?
我们自己的网站域名可以直接向自己发送ajax请求,可不可以直接向其他网站域名发送ajax请求呢?
如果你代码写的比较少,马上试验一下吧!
下面这段代码,在html页面中我们不知道写过多少遍。 ‘//’开头表示自适应其它网站协议 ;‘/’开头表示从自己网站域名的根目录
<script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.js" type="application/javascript" charset="utf-8"></script>
<script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="/static/js/common/artDialog/dialog-plus-min.js" type="application/javascript" charset="utf-8"></script>
<script src="/static/js/common/base.js" type="application/javascript" charset="utf-8"></script>
<script src="/static/js/common/ajax.js" type="application/javascript" charset="utf-8"></script>
<link href="/static/js/common/artDialog/dialog.css" type="text/css" rel="stylesheet"/>
<link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
看到这个标题和这段代码ÿ