vue.js - vue 打包后 nginx 服务端API请求跨域问题无法解决。
问题描述
我把vue打包传到服务端后 放在 www 子域名所指定的目录里。当我发起请求的时候要去请求 api 子域名所绑定的目录。这一请求就造成了跨域提示
然后我在nginx 里也配置了也无解。
也就是我请求 www.daimatu.cn/api/login/index ajax post 请求 转发到 api.daimatu.cn/api/login/index 去
我之前在 location / {} 和 location /api {} 里做了很多设置 都是网上百度来的,然后并没有用~!
然后我在我本的把请求的地址改为线上的,本地请求也没有问题!是通的能正常操作。我对比了下两边的请求头发现不一样!本地请求线上服务端 Request Method 是正常的GET POST 而我线上从 www 转到请求 api 的 Request Method 变成了 OPTIONS 而不是正常的 GET POST 等请求头 我也搜索找了设置 OPTIONS 怎么设置请求的时候跨域还是无法解决了!
如图上所示 变成了 options 了
我想请教下大伙 你们是如何配置的。我后端语言是PHP 不要叫我去设置更改PHP。我本地请求本地服务和线上服务都是通的正常的,只有线上www 转发请求 api 有问题。所以不用改程序。
Api 请求地址: http://api.daimatu.cn/api/log...Api 帐号: admin Api 密码: 123456Api 验证码: 1234求大伙 NGINX服务器请求我这个API过来 看下你们的配置。我已经折腾了半天也没有成功!!
问题解答
回答1:在location中作如下配置
add_header ’Access-Control-Allow-Origin’ ’*’;add_header ’Access-Control-Allow-Credentials’ ’true’;add_header ’Access-Control-Allow-Methods’ ’GET, POST, OPTIONS’;
然后重启nginx服务
service nginx reload
相关文章:
1. java - mybatis怎么实现在数据库中有就修改,没有就添加2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. MYSQL新建用户设置可以远程访问的问题4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. mysql 为何insert的时候会有lock wait timeout 异常7. mysql 5.7单表300万数据,性能严重下降,如何破?8. mysql同步数据到elasticsearch用什么工具?9. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么10. 数据库 - mysql 远程可以连接,但是本地连接拒绝?
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)