返回顶部
首页 > 资讯 > 精选 >vue proxyTable的跨域中pathRewrite怎么配置
  • 316
分享到

vue proxyTable的跨域中pathRewrite怎么配置

2023-06-29 23:06:20 316人浏览 薄情痞子
摘要

这篇文章主要介绍了Vue proxyTable的跨域中pathRewrite怎么配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue proxyTable的跨域中pathRewrite怎

这篇文章主要介绍了Vue proxyTable的跨域中pathRewrite怎么配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue proxyTable的跨域中pathRewrite怎么配置文章都会有所收获,下面我们一起来看看吧。

    vue浏览器跨域问题和vue proxyTable跨域中pathRewrite配置

    vue浏览器跨域问题

    当浏览器报如下错误时,则说明请求跨域了。

    localhost/:1 Failed to load Http://www.thenewstep.cn/test/testToken.PHP: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

    为什么会跨域

    因为浏览器同源策略的限制,不是同源的脚本不能操作其他源下面的对象。

    什么是同源策略

    同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。

    可以说WEB是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

    简单的来说:协议、IP、端口三者都相同,则为同源

    解决办法

    跨域的解决办法有很多,比如script标签 、JSONp、后端设置cros等等…,但是我这里讲的是webpack配置vue 的 proxyTable解决跨域。

    pathRewrite

    简单来说,pathRewrite是使用proxy进行代理时,对请求路径进行重定向以匹配到正确的请求地址,

    dev: {    // Paths    assetsSubDirectory: 'static',    assetsPublicPath: '/',    proxyTable: {      '/api': {        target: 'http://XX.XX.XX.XX:8083',        changeOrigin: true,        pathRewrite: {          '^/api': '/api'   // 这种接口配置出来     http://XX.XX.XX.XX:8083/api/login          //'^/api': '/' 这种接口配置出来     http://XX.XX.XX.XX:8083/login        }      }    }  },

    如何不配置pathRewrite 请求就被转发到 http://XX.XX.XX.XX:8083 并把相应uri带上。

    比如:localhost:8080/api/xxx 会被转发到http://XX.XX.XX.XX:8083/api/xxx

    配置完成后需要重新编译一遍 , 调用接口的时候

            // 获取菜单权限      getPermission(){        this.$ajaxget({          url: '/api/getPermission',          data: {},          isLayer: true,          successFc: data => {            console.log(data.data)          }        })

    2种数据请求方式: fecth和axiOS

    1、fetch方式

    在需要请求的页面,只需要这样写(/apis+具体请求参数),如下:

    fetch("/apis/test/testToken.php", {      method: "POST",      headers: {        "Content-type": "application/json",        token: "f4c902c9ae5a2a9d8f84868ad064e706"      },      body: JSON.stringify(data)    })      .then(res => res.json())      .then(data => {        console.log(data);      });

    2、axios方式

    main.js代码

    import Vue from 'vue'import App from './App'import axios from 'axios'Vue.config.productionTip = falseVue.prototype.$axios = axios //将axios挂载在Vue实例原型上// 设置axios请求的tokenaxios.defaults.headers.common['token'] = 'f4c902c9ae5a2a9d8f84868ad064e706'//设置请求头axios.defaults.headers.post["Content-type"] = "application/json"

    axios请求页面代码

    this.$axios.post('/apis/test/testToken.php',data).then(res=>{        console.log(res)})

    代理配置proxy下pathrewrite失效踩坑

    从网上直接找到的代码复制过来报错,最后找了一下午为什么失效,最后发现问题直接破防了

    错误:

    pathRewrite: {   "  ^/api  "  : "" //若请求的路径在目标url下但不在/api 下,则将其转换成空  },

    正确:

    pathRewrite: {   "^/api": "" //若请求的路径在目标url下但不在/api 下,则将其转换成空   },

    原因:

    直接复制过来的 "  ^/api  "  : ""里面多了两个空格,判断url的时候就获取不到/api,删除空格就解决问题了

    关于“vue proxyTable的跨域中pathRewrite怎么配置”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue proxyTable的跨域中pathRewrite怎么配置”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

    --结束END--

    本文标题: vue proxyTable的跨域中pathRewrite怎么配置

    本文链接: https://lsjlt.com/news/326672.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • vue proxyTable的跨域中pathRewrite怎么配置
      这篇文章主要介绍了vue proxyTable的跨域中pathRewrite怎么配置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue proxyTable的跨域中pathRewrite怎...
      99+
      2023-06-29
    • vueproxyTable的跨域中pathRewrite配置方式
      目录vue浏览器跨域问题和vue proxyTable跨域中pathRewrite配置vue浏览器跨域问题为什么会跨域什么是同源策略解决办法pathRewrite代理配置proxy下...
      99+
      2024-04-02
    • webpack配置proxyTable时pathRewrite无效怎么办
      这篇文章主要介绍了webpack配置proxyTable时pathRewrite无效怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。we...
      99+
      2024-04-02
    • vue服务器代理proxyTable配置如何解决跨域
      目录服务器代理proxyTable配置解决跨域1、Proxy代理作用2、常见情况3、应用方式4、具体配置实例 5、配置思路Vue.proxyTable是什么?为什么会有pr...
      99+
      2024-04-02
    • vue项目proxyTable怎么配置
      这篇文章主要介绍“vue项目proxyTable怎么配置”,在日常操作中,相信很多人在vue项目proxyTable怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目proxyTable怎么配置...
      99+
      2023-07-06
    • 如何使用proxytable配置解决vue-cli的跨域请求问题
      小编给大家分享一下如何使用proxytable配置解决vue-cli的跨域请求问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!...
      99+
      2024-04-02
    • vue中怎么利用 proxyTable实现接口跨域请求调试
      vue中怎么利用 proxyTable实现接口跨域请求调试,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。VUE解决通过proxyTable...
      99+
      2024-04-02
    • 怎么实现Vue集成Axios、调用、跨域、配置多个跨域
      本篇内容介绍了“怎么实现Vue集成Axios、调用、跨域、配置多个跨域”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
      99+
      2024-04-02
    • vue如何配置跨域代理
      这篇文章主要介绍了vue如何配置跨域代理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导语:首先,每一个前端开发人员都应该知道同源策略,同源...
      99+
      2024-04-02
    • Vue-cli proxyTable如何解决开发环境的跨域问题
      小编给大家分享一下Vue-cli proxyTable如何解决开发环境的跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!和...
      99+
      2024-04-02
    • vue中vite.config.js配置跨域以及环境配置方式
      目录如何配置跨域,代理域名,下面是vite的代理区分开发环境和生产环境,以及预发布环境VUE中常用proxy来解决跨域问题总结如何配置跨域,代理域名,下面是vite的代理 serve...
      99+
      2023-05-16
      vue中vite.config.js vite.config.js配置跨域 vue环境配置
    • vue的代理配置pathRewrite重写不生效怎么解决
      本篇内容介绍了“vue的代理配置pathRewrite重写不生效怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代理配置pathRew...
      99+
      2023-06-30
    • vue跨域proxy代理配置详解
      目录引言例一例二总结引言 相信很多人都用过proxy,这里就不多说proxy的基本使用,这里要说一下很多人使用proxy的一个误区,大家一般都是直接将管官方的例子拿过来,修改一下代理...
      99+
      2024-04-02
    • vue之proxyTable代理全面配置的方法
      本篇内容介绍了“vue之proxyTable代理全面配置的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!介绍vue的proxyTable...
      99+
      2023-06-30
    • vue使用vite配置跨域及环境配置的方法
      这篇文章主要介绍“vue使用vite配置跨域及环境配置的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue使用vite配置跨域及环境配置的方法”文章能帮助大家解决问题。如何配置跨域,代理域名不...
      99+
      2023-07-02
    • SpringBoot怎么配置跨域过滤器允许跨域访问
      这篇文章主要讲解了“SpringBoot怎么配置跨域过滤器允许跨域访问”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么配置跨域过滤器允许跨域访问”吧!SpringBoo...
      99+
      2023-07-02
    • vue怎么实现的跨域
      随着前端技术的不断发展,前端工程师们在制作网站时经常需要通过Ajax请求来获取数据。在这个过程中,很容易遇到跨域问题。本文将介绍Vue.js如何实现跨域请求的方式。JSONP跨域JSONP(JSON with Padding)是一种跨域数据...
      99+
      2023-05-18
    • vue使用vite配置跨域以及环境配置详解
      目录如何配置跨域,代理域名区分开发环境和生产环境,以及预发布环境可以做什么事补充:解决跨域常用方法一、VUE中常用proxy来解决跨域问题二、JSONP解决跨域 三、COR...
      99+
      2024-04-02
    • Nginx怎么跨域配置实现支持多域名
      要实现Nginx的跨域配置,以支持多个域名,可以使用Nginx的`add_header`指令来设置`Access-Control-A...
      99+
      2023-10-25
      Nginx
    • vue项目proxyTable配置和部署服务器的问题怎么解决
      这篇文章主要介绍“vue项目proxyTable配置和部署服务器的问题怎么解决”,在日常操作中,相信很多人在vue项目proxyTable配置和部署服务器的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
      99+
      2023-06-30
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作