同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。
两个页面,域名 协议 端口都相同。表示同源
受前面所讲的浏览器同源策略的影响,不是同源的脚本不能操作其他源下面的对象。想要操作另一个源下的对象是就需要跨域。
跨域:受前面所讲的浏览器同源策略的影响,不是同源的脚本不能操作其他源下面的对象。想要操作另一个源下的对象是就需要跨域。
JSONP跨域:利用script标签里的src属性,载入一个动态执行的js脚本。
JSONP跨域的优点:
兼容性好。
无需XMLHttpRequest。
JSONP跨域的缺点:
只能发送get请求。
使用JSONP跨域,只要是个网站都可以拿到b.com里的数据,存在安全性问题。需要网站双方商议基础token的身份验证,这里不详述。
可能被注入恶意代码,篡改页面内容,可以采用字符串过滤来规避此问题。
会继续回来补充的....