友情提示:此篇文章大约需要阅读 2分钟14秒,不足之处请多指教,感谢您的阅读。 订阅本站
JS跨域
跨域,指的是浏览器不能执行其他网站的脚本。 它是由浏览器的同源策略造成的,是浏览器施加的安全限制。
JavaScript处于安全方面的考虑,不允许跨域调用其他页面的对象。
- http://roguefeathers.link/a.html调用http://roguefeathers.link/b.php (非跨域)
- http://roguefeathers.link/a.html调用http://baidu.link/b.php (跨域)
- http://roguefeathers.link/a.html调用http://a.roguefeathers.link/b.php (跨域)
- http://roguefeathers.link/a.html调用http://roguefeathers.link:81/b.php (跨域)
- http://roguefeathers.link/a.html调用https://roguefeathers.link/b.php (跨域)
跨域解决方法一 — 代理
跨域解决方法二 — JSONP
- JSONP用于解决主流浏览器的跨域数据访问的问题。
- JSONP技术仅仅支持GET请求,不支持POST请求。
跨域解决方法三 — XHR2
- 在HTML5中提供的XMLHttpREquest Level2已经实现了跨域访问以及其他的一些新功能
- IE10以下版本均不支持
- 在服务器端做一些小的改造即可:
- header(‘Access-Control-Allow-Origin:*’);
- header(‘Access-Control-Allow-Methods:POST,GET’);
发表回复