1:后端解决
设置Access-Control-Allow-Origin 为*
php:
header('Access-Control-Allow-Origin:*');//允许所以域名访问
.net :
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
java:
response.setHeader("Access-Control-Allow-Origin", "*");
2:前端设置反向代理
----------开发模式下使用。代理是基于node运行的。
反向代理(Reverse Proxy)方式是指以代理服务器来接受网络上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。客户端无需做任何配置。
正向代理 在客户端和原始服务器(origin server)之间架设一个代理服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
·修改config/index.js 文件(改完之后千万记得要重新 npm run dev)
------------正式环境,即build之后的
nginx 解决方案:
配置conf文件:
location /api {
proxy_set_header Host $http_host;
proxy_pass http://192.168.*.*:8014; #此处修改为自己的接口请求地址/资源文件路径地址
}
3.直接用jsonp