原因是这样的:最近用PHP开发了一个网站,这个网站需要提供接口,接口开发完成之后,在本地进行请求,跨域测试。
jsonp处理跨域和用PHP函数来处理跨域就不说了。
现在说的使用用 header 这个来处理数据跨域:
public function ajax(){ header('Access-Control-Allow-Origin:*'); // 需要暴露的数据 }
就可以通过这样来获取数据:
$.post(ajaxUrl,function(data){});
解决的方法是这样的:
// 指定可信任的域名来接收响应信息,推荐 <?php header('Access-Control-Allow-Origin:http://A.abc.com'); ?>
或者:
// 使用通配符 * ,表示当前服务端通话任何域名发起请求,不推荐 <?php header('Access-Control-Allow-Origin:*'); ?>
就这样在服务端简单加一句响应头responese headers声明,一个跨域请求就不会被浏览器的同源安全策略所阻止了!