首页 > 其他分享 >Vue+axios 解决跨域

Vue+axios 解决跨域

时间:2023-03-06 09:58:00浏览次数:42  
标签:axios 跨域 api Vue CORS 服务端 请求

Vue + axios 如何解决跨域问题?

跨域问题是由于浏览器的同源策略限制导致的,同源策略是浏览器的一种安全策略,目的是保障用户的信息安全,防止恶意网站窃取数据。同源策略的限制是,当在浏览器中发起一个跨域请求时,浏览器会拦截请求,不允许发送和接收任何数据。

解决跨域问题的方法有很多种,以下是其中几种

服务端设置CORS

服务端可以通过设置CORS(跨域资源共享)来允许跨域请求。CORS是一种机制,允许服务器端支持跨域访问。设置CORS时,服务端需要在响应头中添加Access-Control-Allow-Origin字段,指定允许访问的来源。例如,在Node.js的Express框架中,可以使用cors中间件来实现CORS。

使用JSONP

JSONP是一种跨域解决方案,利用script标签不受同源策略的限制,动态创建script标签来实现跨域请求。JSONP的原理是将需要获取的数据包装在一个函数中,服务端返回一个类似于callback(data)的响应数据,前端利用script标签来执行该函数并获取数据。

使用反向代理

使用反向代理是一种常用的解决跨域问题的方法。在前端页面中发送请求时,将请求发送到同源的服务器上,由该服务器进行跨域请求,获取数据后再返回给前端页面。常见的反向代理服务器有Nginx、Apache等。

使用axios的代理功能

在Vue项目中使用axios时,可以通过配置axios的代理来解决跨域问题。在vue.config.js中添加如下代码:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',  // 需要跨域的目标url
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/api': '',  // 将请求的路径重写为 /api 后为空
        },
      },
    },
  },
};

上述代码表示将以/api开头的请求转发到http://localhost:3000上,这样就可以解决跨域问题了。
以上是几种解决跨域问题的常用方法,具体应该根据实际情况来选择合适的方法。

标签:axios,跨域,api,Vue,CORS,服务端,请求
From: https://www.cnblogs.com/NetUSA/p/17182675.html

相关文章

  • Vue学习笔记之npm install编译时报"Cannot read properties of null (reading ‘pickA
    0x00概述在启动项目时候,没注意node版本,直接npminstall遇到该错误;该错误主要是由node高低版本导致的。 0x01node版本一致/**1.重新安装node解决2.删了nod......
  • Vue过滤器的使用详解(代码实现)
    过滤器的功能是对要显示的数据进行格式化后再显示,其并没有改变原本的数据,只是产生新的对应的数据 过滤器,其实不是必须要用的东西,它只是vue给我们提供的新的数据处理方式......
  • Vue3 注册及使用全局方法
    新建map-func.js,在main.js中全局定义$mapFunc。map-func.jsfunctiongetLayer(layerId){ returnwindow.map.getLayer(layerId);}exportdefault{ getLayer};m......
  • vue 中数组值改变但页面未渲染问题
    这里想通过点击按钮打开抽屉,由于抽屉较多,这里我用数组存储了按钮<el-button@click="drawer[index]=true"type="primary"size="small">抽屉<el-dr......
  • vue 2.x使用视频插件dplayer
    前言:英文官网地址:https://dplayer.diygod.dev/中文官网地址:https://dplayer.diygod.dev/zh/正文:1、安装插件npminstallvue-dplayer-S2、配置插......
  • 记录Ubuntu安装Vue脚手架后找不到命令解决方法
    环境信息系统版本node.js版本安装Vue脚手架通过命令npminstall-g@vue/cli命令全局安装Vue脚手架安装完毕后,通过命令npmlist-g查看全局安装的模块,......
  • Vue3组合式API学习笔记
    setup方法与script_setup及ref响应式setup方法与script_setup在Vue3.1版本的时候,提供了setup方法;而在Vue3.2版本的时候,提供了script_setup属性。那么setup属性比setup方......
  • 在线图书借阅网站( Python +Vue 实现)
    功能介绍平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。前台功能包括:首页、图书详情页、用户中心......
  • vue项目PC端如何适配不同分辨率屏幕
    闲聊:年前小颖第一家公司同事问我有做过pc端适配的项目吗,我给妹纸说了下,结果发现没说完,自己当时也没想起来,今天干脆总结下,方便自己和大家日后查看第一步:安装postcss-px2r......
  • 关于vuex
    state:{count:0}//原始形式调用时插值表达式形式<div>{{$store.state.count}}</div>赋值函数形式是在computed中important{mapStatte}from'vuex'computed:{...map......