广告
返回顶部
首页 > 资讯 > 精选 >VUE如何解决跨域问题
  • 613
分享到

VUE如何解决跨域问题

2023-07-02 16:07:17 613人浏览 薄情痞子
摘要

这篇文章主要介绍“Vue如何解决跨域问题”,在日常操作中,相信很多人在VUE如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE如何解决跨域问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧

这篇文章主要介绍“Vue如何解决跨域问题”,在日常操作中,相信很多人在VUE如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE如何解决跨域问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    跨域

    当我们遇到请求后台接口遇到 Access-Control-Allow-Origin 时,那说明跨域了。

    跨域是因为浏览器的同源策略所导致,同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,同源是指:域名、协议、端口相同

    VUE如何解决跨域问题

    解决跨域常用方法:

    一、VUE中常用proxy来解决跨域问题

    在vue.config.js中设置如下代码片段

    module.exports = {  dev: {    // Paths    assetsSubDirectory: 'static',    assetsPublicPath: '/',    proxyTable: { // 配置跨域    '/api':{        target:`Http://www.baidu.com`, //请求后台接口        changeOrigin:true, // 允许跨域        pathRewrite:{            '^/api' : '' // 重写请求        }    }  },}

     2、创捷axiOSs实例时,将baseUrl设置为 ‘/api’

    const http = axios.create({  timeout: 1000 * 1000000,  withCredentials: true,  BASE_URL: '/api'  headers: {     'Content-Type': 'application/JSON; charset=utf-8'   }})

    二、JSONP解决跨域

    Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。

    <!DOCTYPE html>       <html>       <head>           <meta charset="utf-8">       </head>       <body>       <div id="textID"></div>       <script type="text/javascript">           function text_jsonp(req){               // 创建script的标签               var script = document.createElement('script');               // 拼接 url               var url = req.url + '?callback=' + req.callback.name;               // 赋值url               script.src = url;               // 放入头部               document.getElementsByTagName('head')[0].appendChild(script);           }       </script>       </body>       </html>

     三、CORS是跨域资源共享(Cross-Origin Resource Sharing),以 ajax 跨域请求资源,支持现代浏览器,IE支持10以上

    在CORS请求,头部信息中包含以下三个字段:

    Access-Control-Allow-Origin: 该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求,

    Access-Control-Allow-Credentials: 可选,值为布尔值,表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中。设为true,即表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器。这个值也只能设为true。如果要发送Cookie,Access-Control-Allow-Origin必须设置为必须指定明确的、与请求网页一致的域名

    Access-Control-Expose-Headers:可选。CORS请求时,XMLHttpRequest对象的getResponseHeader()方法只能拿到6个基本字段:Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedPragma。如果想拿到其他字段,就必须在Access-Control-Expose-Headers里面指定

    详细讲解请查看阮大神的文章,传送门附上:CORS详解

    四、iframe实现跨域

    VUE如何解决跨域问题

    iframe(src){            //数组            if(Array.isArray(src)){                this.docs.visible = true;            }else{                this.docs.visible = false;                            }            this.link  = src            if(this.docs.visible == false){                if(this.$refs['ruleIframe'] && this.$refs['ruleIframe'].querySelector('iframe')){                    this.$refs['ruleIframe'].querySelector('iframe').remove()    //删除自身                }                var iframe = document.createElement('iframe');                iframe.width = '100%';                iframe.height = '100%';                iframe.setAttribute('frameborder','0')                iframe.src = src;                                this.append(iframe)            }                    },        //创建元素 防止  获取不到 ruleIframe 递归        append(iframe){            if(this.$refs['ruleIframe']){                this.$refs['ruleIframe'].appendChild(iframe);                return            }            setTimeout(()=>{                this.append(iframe);            },500)            },

    到此,关于“VUE如何解决跨域问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: VUE如何解决跨域问题

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • VUE如何解决跨域问题
      这篇文章主要介绍“VUE如何解决跨域问题”,在日常操作中,相信很多人在VUE如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE如何解决跨域问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
      99+
      2023-07-02
    • 如何解决Django+vue跨域问题
      小编给大家分享一下如何解决Django+vue跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域由于开发模式为前后端分离...
      99+
      2022-10-19
    • vue-cli3跨域问题如何解决
      本篇内容介绍了“vue-cli3跨域问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1:将任何未知请求转发到代理服务器如:前端地址...
      99+
      2023-07-04
    • Vue如何解决跨域问题详解
      什么是跨域 跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个3个中有一个不同就是跨域。 这里列举一个经典的列子: #协议跨域http://a....
      99+
      2022-11-13
    • vue中axios如何解决跨域问题
      这篇文章主要介绍vue中axios如何解决跨域问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue中axios不支持vue.use()方式声明使用。 所以有两种方法可以解决这点:...
      99+
      2022-10-19
    • 解决Vue+SpringBoot+Shiro跨域问题
      目录一、配置Vue前端1、开发跨域配置2、生产跨域配置二、配置spring boot相信大家刚开始做都会遇到这个问题,在网上找了好多也不管用,都写的不全, 在这里记录一下,希望对大家...
      99+
      2022-11-12
    • vue跨域问题怎么解决
      1、可以在后端服务器中进行配置,允许指定的域名或IP地址访问后端API,这样就可以解决跨域问题。常用的方法是在服务器端添加CORS(...
      99+
      2023-05-13
      vue跨域问题 vue
    • Vue解决ajax跨域的问题
      目录(一)什么是跨域(二)axios请求(1)请求方式(2)如何发送axios请求(三)配置代理解决跨域问题(1)方法一:使用vuecli配置代理服务器(2)方法二(一)什么是跨域 ...
      99+
      2023-05-14
      Vue ajax跨域 ajax跨域
    • vue的跨域问题怎么解决
      这篇“vue的跨域问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue的跨域问题怎么解决”文章吧。在vue中,跨...
      99+
      2023-07-04
    • Vue项目中该如何解决跨域问题
      目录跨域同源策略express服务器vue处理跨域express处理跨域总结跨域 跨域报错是前端开发中非常经典的一个错误,报错如下  Access to XMLHttpRe...
      99+
      2022-11-13
    • ajax如何解决跨域问题
      小编给大家分享一下ajax如何解决跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域同源策略限制同源策略阻止从一个域上加...
      99+
      2022-10-19
    • Ajax跨域问题如何解决
      这期内容当中小编将会给大家带来有关Ajax跨域问题如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。跨域跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一...
      99+
      2023-06-08
    • django跨域问题如何解决
      Django跨域问题可以通过以下几种方法来解决:1. 使用Django的CORS插件:可以通过安装django-cors-heade...
      99+
      2023-09-26
      Django
    • Vue3跨域问题如何解决
      这篇文章主要介绍了Vue3跨域问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3跨域问题如何解决文章都会有所收获,下面我们一起来看看吧。vue项目配置代理vue.config.jsconst&n...
      99+
      2023-07-05
    • PHP跨域问题如何解决
      这篇文章主要讲解了“PHP跨域问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP跨域问题如何解决”吧!设置允许访问的域名:允许全部的域名访问header("Acces...
      99+
      2023-07-05
    • Apache如何解决跨域问题
      方案一:直接在域名配置中允许跨域 缺点:安全性缺失。公交车,谁都能访问。相当于完全放弃跨域控制。 且无法发送登陆凭证,发送cookie等依然会被拦截 修改apache/conf/httpd.conf 文件 找到   #LoadModule ...
      99+
      2023-09-01
      apache php 跨域
    • vue-cli3 中怎么解决跨域问题
      这篇文章给大家介绍vue-cli3 中怎么解决跨域问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1:将任何未知请求转发到代理服务器如:前端地址:127.0.0.1后端地址:127....
      99+
      2022-10-19
    • 解决vue cli3使用axios跨域问题
      目录一、什么是跨域1、跨域2、同源策略3、跨域问题怎么出现的二、使用 axios 演示并解决跨域问题(vue-cli3.0)1、项目创建、与 axios 的使用2、跨域问题重现3、解...
      99+
      2022-11-13
    • vue跨域问题:Access to XMLHttpRequest at‘httplocalhost解决
      目录前言一、背景补充(jsonp)二、实践解决跨域方法(基于封装好的axios,非原生)再补充一下原理:总结前言 前两天遇到了跨域问题,报了Access to XMLHttpRequ...
      99+
      2023-01-28
      vue跨域问题解决方案 vue怎么解决跨域问题 vue前端解决跨域的方法
    • vue如何解决axios请求前端跨域问题
      目录前言一、为什么会出现跨域的问题?二、解决方案跨域资源共享(CORS)写在最后前言 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问...
      99+
      2022-11-12
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作