跨域是什么?跨域是由于浏览器的同源策略而引发的问题,所谓同源是指,域名,协议,端口均相同。举个例子:
www.123.com访问www.456.com,属于跨域,域名不同
abc.123.com访问def.123.com,属于跨域,子域名不同
http://123.com访问https://123.com,属于跨域,协议不同
123.com:8080访问123.com:8081,属于跨域,端口不同
开发中主要有三种方法来处理跨域问题:
1. 设置header
可以再在header里设置ACCESS-CONTROL-ALLOW-ORIGIN,比如
header(“ACCESS-CONTROL-ALLOW-ORIGIN:www.example.com”);允许示例网站访问当前页面。
或者使用通配符:
header(“ACCESS-CONTROL-ALLOW-ORIGIN:*”);允许任何网站来访问当前页面。
2. 代理访问
比如我当前域名是123.com,我的123.com/index.html需要访问456.com/api.php,如果直接访问是不可行的。如果在123.com下有一个getapi.php页面,在这个页面里去请求456.com/api.php,再把得到的结果返回给index.html,这样做相当于跳过了浏览器的检测。
3. jsonp
http://blog.csdn.net/navy_xue/article/details/40016475