美文网首页
vue-webpack打包之后多域名请求接口出现跨域问题-总结

vue-webpack打包之后多域名请求接口出现跨域问题-总结

作者: 皇甫贝 | 来源:发表于2019-11-08 21:24 被阅读0次

本人今天项目上线,需一枚程序员祭天

问题描述:

和同事共同开发一个项目,两个团队,不同请求方式&语言,在本地运行的项目相安无事,各自安好,欢欢喜喜的准备上线了(小项目,没有测试环境and灰度环境),突然发现打包之后的项目,其中一种语言的请求出现跨域问题
当时在想不就是跨域吗? 后端加上跨域请求通配符(*),前端加上webpack => devServer => proxy不就行了嘛~
说干就干~噼里啪啦~噼里啪啦~完美解决?

然鹅

我想多了,出现了新的报错

问题如下
问题截图

当时我脑子里是这样的
什么鬼??
我在干什么??
?????

代码:

vue.config.js
请求接口-URL
实例默认配置
默默打开度娘,重新看了下同源策略
搜索现在的问题所在,最终在一篇文章中提到了Cookie 的使用,有点启发;
不同域名下使用cookie跨域,浏览器的安全机制会默认阻止请求
于是
请求接口-URL代码修改 (添加全域名地址)
if (
        this.SearchType.value === "isnull" ||
        this.SearchType.value === "timeout"
      ) {
        url = "/www.baudu.com/rule/getStatusData";
        // url = "/rule/getStatusData";
        params = {
          project: this.ObjectType.value,
          // status: this.TypeType.value,
          type: this.SearchType.value
        };
      } else {
        url = "http://www.baudu.com/rule/getHitchData";
        // url = "/rule/getHitchData";
        params = {
          chargeDept: this.DutyType.value,
          type: this.SearchType.value
        };
      }

然后实例默认配置代码(修改禁止跨域时发送cookie,去除前端跨域请求通配符【注:后端已添加跨域】)

const instance = axios.create({
  timeout: 100000, // 设置超时时间
  // withCredentials: true, // 跨域时是否发送cookie
  baseURL: window.location.origin, // 设置请求基地址
  headers: {
    "content-type": "application/x-www-form-urlencoded"
    // "Access-Control-Allow-Origin": "*"
  }
});

重新启动前端服务,项目数据一切正常,整体耗时4小时

相关文章

  • vue-webpack打包之后多域名请求接口出现跨域问题-总结

    本人今天项目上线,需一枚程序员祭天 问题描述: 和同事共同开发一个项目,两个团队,不同请求方式&语言,在本地运行的...

  • Nginx 允许多个域名跨域访问

    参考: Nginx 允许多个域名跨域访问 当浏览器发起ajax请求到其他域名时,会出现跨域的问题,在nginx上的...

  • nginx 配置add_header 'Access-Contr

    1.问题描述:前端域名A 在POST请求后端域名为B 的一个接口时候请求成功时不存在跨域问题,请求失败时浏览器提示...

  • 使用CORS解决跨域问题

    1.跨域问题 1.1 什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

  • CORS解决跨域问题

    1.跨域问题 1.1.什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

  • 使用CORS解决跨域共享

    1. 接口的跨域问题 刚才编写的 GET 和 POST接口,存在一个很严重的问题:不支持跨域请求。解决接口跨域问题...

  • PHP解决跨域问题,你会用哪种方法

    一、什么是跨域 跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的...

  • 跨域设置整理

    什么是跨域 不同域名之间相互请求资源,就是跨域。常说的跨域问题,指的是浏览器不允许跨域请求。这是由于浏览器的同源策...

  • 浅谈前端跨域问题及解决方案

    “跨域”是浏览器出于安全方面考虑作出的限制,如果不在同一域名下访问接口的话就会产生跨域问题;一般ajax请求如果因...

  • day05项目【讲师管理模块前端开发】

    改造登录到本地接口 一、跨域配置 1、什么是跨域 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议...

网友评论

      本文标题:vue-webpack打包之后多域名请求接口出现跨域问题-总结

      本文链接:https://www.haomeiwen.com/subject/xybwbctx.html