ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”。
解决方法(我只用过下面这3种):
1. 架设服务器代理:即浏览器请求同源服务器,再由后者请求外部服务(之前博主一直用这种方法,其实感觉这种算不上跨域请求了)。
2. 就是使用jsonp方式(博主用的不多)
3.就是通过设置header头部信息来实现(本章主要讲这个,实现很简单)
就是在你要请求的地址中添加 header('Access-Control-Allow-Origin:*'); 设置你允许访问的域名就可以了看一下下面的例子:比如 你的要通过 http://a.com/a.js 来访问 http://b.com/b.php 实现跨域, 那么你就要在 b.php中实现(博主用的tp框架)<?phpnamespace Tw\Controller;use Think\Controller;class MarketdataController extends BaseController{public function gethq(){$data = ['message' => '请输入code'];header('Access-Control-Allow-Origin:http://a.com');$this->ajaxReturn($data);}}
就可以了。(有的可能还需要配置一下服务器设置,我用的集成环境,只加这个就可以了)
Access-Control-Allow-Origin:* 表示允许任何域名跨域访问
'Access-Control-Allow-Origin:http://a.com 表示允许http://a.com跨域访问