Vue代理&跨域

Vue 本地代理 纯前端技术解决跨域

vue-axios获取数据很多小伙伴都会使用,但如果前后端分离且后台没设置跨域许可,那要怎样才能解决跨域问题?

常用方法有几种:

  1. 通过jsonp跨域
  2. 通过修改document.domain来跨子域
  3. 使用window.name 或location.hash 来进行跨域
  4. 使用HTML5中的window.postMessage方法来跨域
  5. 图片ping或script标签跨域
  6. WebSocket
  7. CORS
  8. 以上方法或多或少都有一定限制,有的不支持post有的需要后台配合,这里就不一一分析了;

    那如何才能简单又优雅地使用前端技术解决跨域问题呢?这篇博客正是为此而生;

    Vue 中使用本地代理,只需三步(其实两步也行,但感觉并不够优雅):

    一、在config中创建一个proxyConfig.js,并在proxyConfig.js设置代理

设置代理:

module.exports = {
  proxy: {
    ‘/api‘: {
      target: ‘https://www.aaa.com/‘,  // 接口域名
      changeOrigin: true,  //是否跨域
      pathRewrite: {
        ‘^/api‘: ‘/‘
      }
    }
  }
}

二、在config中的index.js中找到proxyTable进行编辑

proxyTable: proxyConfig.proxy,

三、使用axios的时候,在每个接口前添加 ‘/api‘

最后的最后

到此本地代理解决跨域完满结束

原文地址:https://www.cnblogs.com/mahmud/p/10584119.html

时间: 2024-10-04 03:37:35

Vue代理&跨域的相关文章

CORS跨域与Nginx反向代理跨域优劣对比

最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主要就此展开一下,从前后端及服务器配置.安全性.移植灵活性.扩展性等方面详细对比一下两种方案的优缺,以便于后期在方案选型上对大家有所帮助. 前端配置 CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要设置一下xmlhttprequest的withCrendetails属

vue resource 携带cookie请求 vue cookie 跨域

vue resource 携带cookie请求 vue cookie 跨域 1.依赖VueResource 确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm install vue-resource --save 在主方法添加 过滤 Vue.http.interceptors.push(function(request, next) {//拦截器 // 跨域携带cookie request.credentials = true; next() }) 以下是针对每个请

解决vue axios跨域请求发送两次问题

问题: vue axios跨域请求,在Request Headers加Authorization传递Token时,发现统一请求触发了两次,第一次是Request Method: OPTIONS请求. 原因: 跨域请求时,浏览器会首先使用OPTIONS方法发起一个预请求,判断接口是否能够正常通讯.如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开始真正的请求. 解决方法: 后台:判断请求方式是OPTIONS,则不处理: 预请求 发送真正请求  PHP解决方法 class Common ex

vue + vue-resource 跨域访问

使用vue + vue-resource进行数据提交,后台使用RESTful API的方式存取数据,搞了一天,终于把后台搞好了.进行联合调试时,数据不能提交,报403错误: XMLHttpRequest cannot load http://localhost:8090/xxx/xxx. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header

vue项目跨域问题

跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺点:只能get请求 ,需要修改B网站的代码 cors 这个方案缺点 是 ie6 7 兼容不好(倒是不见得要兼容).需要B网站在响应中加头 postMessage 缺点也是 ie6 7 兼容不好(倒是不见得要兼容).需要修改B网站的代码 iframe window.name 传值得方式很巧妙,兼容性也很好.但是也是需要你能修改B网站代码 服务端主动请求B网站,兼

SpringBoot rest-api+Vue CORS跨域.md

跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 目前用到两种方式 前后端统一通过代理转发,使api和vue web都通过同一域名+端口来访问,以确保同源: 通过服务端接口层配置,支持CORS请求: 服务层配置 我们目前前端有Vue.安卓.iOS,后端共用一套,因此更好的方式是通过修改服务层,以支持多端请求. Spring MVC配置方式 Spring MVC从4.2版本开始增加对CORS的支持,只需要在Controller或

vue-cli3设置代理跨域详解

老规矩,先上代码 // 在根目录下自行创建vue.config.js module.exports = { // cli3 代理是从指定的target后面开始匹配的,不是任意位置:配置pathRewrite可以做替换 devServer: { port: '8080', open: true, proxy: { '/api': { // /api 的意义在于,声明axios中url已/api开头的请求都适用于该规则, // 注意是以/api开头,即:axios.post({url: '/api/

vue resource 携带cookie请求 vue cookie 跨域(六)

1.依赖VueResource  确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm install vue-resource --save 在主方法添加 过滤 Vue.http.interceptors.push(function(request, next) {//拦截器 // 跨域携带cookie request.credentials = true; next() }) 以下是针对每个请求都会携带cookie ,也可以指定接口请求携带cookie this.$

vue flask 跨域问题

最近一直忙着检查点测试平台的开发.之前主要是从事后端开发,现在所有的东西都需要自己一个人撸.也遇到了之前在后端服务开发中未碰到的问题,在此记录下解决的全过程. 前端采用vue + element的技术,开发完成后生成静态文件扔到nginx服务器上.后端用python的flask,完成之后放到gunicorn中.两个单独开发到没有什么太大问题,问题就出在将两个合在一起的时. 第一次合并的时候出现了下面的问题,额...跨域问题,问题不大改改后台的响应就ok,就写了一个简单的装饰器 装饰器代码: de