跨域访问操作
在页面中使用js访问其他网站的数据时,就会出现跨域问题,比如在网站中使用ajax请求其他网站的天气、快递或者其他数据
如何实现
window.postMessage
window.postMessage是HTML5定义的一个很新的方法,这个方法可以很方便地跨window通信。由于它是一个很新的方法,所以在很旧和比较旧的浏览器中都无法使用。
借助于服务器代码来跨域(正向代理、反向代理)
正向代理: 我借助与我的服务器, 像数据服务器发送数据, 我的服务器只需要向数据服务器发送get请求即可
反向代理: 与正向代理类似, 但是不借助于脚本, 而是直接使用 服务器映射 url.
例如: 我们的 url 是 http://studyit.com
数据服务器的 url 是 http://api.botue.com/login
在 apache 配置一个 url 的代理映射
理论上使用 url: http://studyit.com/api 是在网站根目录下找 api 文件夹
但是现在 apache 提供一个映射的功能, 将 /api 映射到 http://api.botue.com
有了这个映射, 那么 访问 http://api.botue.com/login 就可以利用 /api/login来访问了.
反向代理的好处:
不仅实现了跨域( 服务器帮我们实现的 ), 而且访问数据的时候就好像在访问本地服务器一样.如此, 诸如 cookie 等数据就可以直接获得了.