vue本地向后端发送请求为什么没发生跨域

发布于 2022-09-11 22:04:47 字数 1123 浏览 16 评论 0

1、后端及web服务没做过跨域设置
2、看过跨域文章,但是对跨域发生场景还是不清楚有时会碰到有时有不会

图片描述


2019-08-30 14:47修改问题

经测试在请求头为Content-Type:application/x-www-form-urlencoded时正常返回数据

      axios({
        headers: {
          "Content-Type": "application/x-www-form-urlencoded"
        },
        method: "post",
        url:
          "https://bdapp.***.cn/api.php/portal/lists/getCategoryPostLists",
        data: param
      }).then(function(res) {
        console.log(res.data);
      });
      

将请求头改为Content-Type: application/json后返回分类不存在,并且返回options
图片描述

图片描述

另外,在api.php添加下面代码后不能解决options没有返回数据问题

header('Access-Control-Allow-Origin:'); //允许跨域请求的域名地址 可以为表示接受所有地址
header('Access-Control-Allow-Methods:*'); //允许的请求方式
header('Access-Control-Allow-Credentials:true'); //可选 是否允许客户端提交cookie
图片描述

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

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

发布评论

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

评论(4

你的往事 2022-09-18 22:04:47

get请求应该是不跨域的吧,试试post(传递json)?
即简单请求和非简单请求。非简单请求才会跨域

蝶…霜飞 2022-09-18 22:04:47

跨域这个只有你的content-type为application/json的时候才会发生,前提是前后端不在一个服务器或者用的不通端口,希望对你有帮助

め七分饶幸 2022-09-18 22:04:47

问问后端有没设置 Access-Control-Allow-Origin * 设置为 为星号 就允许了跨域

天涯沦落人 2022-09-18 22:04:47

可以在浏览器中看一看每次请求是不是在network中会产生两个一模一样的请求,其中一个时option请求,另一个是真实请求。如果是这样的话,说明后端设置了允许跨域,就是上面说的Access-Control-Allow-Origin *

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文