vue+webpack+axios跨域请求,No 'Access-Control-Allow-Origin' header'?

发布于 2022-09-06 07:36:32 字数 485 浏览 32 评论 0

用vue-cli搭建的vue项目,axios发起get请求的时候,控制台报错:
Failed to load http://222.16.46.131:8080/Skyworth/changePictureAdmin: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 502.
我要访问的http://222.16.46.131:8080/Skyworth/changePictureAdmin是别人写好的,已经部署在其他服务器的接口,后台有设置cors,请问前端vue项目需要更改什么配置文件,才能成功跨域请求?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

当梦初醒 2022-09-13 07:36:32

1.你的问题是跨域请求:因为你是在本地开发的,你请求的后台服务器的数据会对非同一个域名下的请求有限制,所以会报错。
2.解决方案:
(1)安装chrome插件 Allow CORS
(2)服务端设置 在php接口脚本中加入以下两句即可:

 header('Access-Control-Allow-Origin:*');//允许所有来源访问
 header('Access-Control-Allow-Method:POST,GET');//允许访问的方式
梦幻的心爱 2022-09-13 07:36:32

你看看这个能解决你那个问题嘛:https://segmentfault.com/a/11...

像极了他 2022-09-13 07:36:32

修改webpack 配置里面的 devServer, 设置proxy,参考 https://webpack.js.org/configuration/dev-server/#devserver-proxy

迟月 2022-09-13 07:36:32

要进行跨域设置啊

不…忘初心 2022-09-13 07:36:32

设置请求头

绝情姑娘 2022-09-13 07:36:32

后台那边没设置跨域,你访问不了,可以这样设置

app.all('*', function (req, res, next) {
    res.header('Access-Control-Allow-Origin', req.headers.origin || '*');
    res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization,\'Origin\',Accept,X-Requested-With');
    res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    res.header('Access-Control-Allow-Credentials', true);
    res.header('X-Powered-By', ' 3.2.1');
    res.header('Content-Type', 'application/json;charset=utf-8');
    if (req.method === 'OPTIONS') {
        res.sendStatus(200);
    } else {
        next();
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文