Vue3配置代理解决跨域请求及携带Cookie问题

在前后端开发的过程中,经常涉及跨域请求的问题。

  1. 跨域请求。
  2. axios发送请求时携带cookie,用于后端用户认证。
问题1解决:

给vue3配置代理服务器,后台无需进行跨域请求配置。在 vue.config.js 配置文件中进行配置。添加一下代码

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  
  // 添加代码 beg
  devServer:{
    port:"3333", // 配置本地vue服务的端口号
    // 配置代理
    proxy:{ 
      '/note':{
        target:'http://192.168.9.60:5555/note',
        changeOrigin:true, // 是否允许跨域请求
        pathRewrite:{
          // 配置路径重写。说明:用 /note 代替【target地址】 http://192.168.9.60:5555/note 。
          // 例如:axios请求的时候URL地址: /note/login 就是 http://192.168.9.60:5555/note/login
          '^/note': '' 
        }
      }
    }
  }
  // 添加代码 end
  
})

问题2解决:

配置axios发送请求的时候带上cookie。配置之后接收的cookie会自动保存好,发送的时候会自动携带。

import axios from 'axios'
axios.defaults.withCredentials = true;

注意:要解决问题1之后,再解决问题2,否则就会出现跨域请求的问题。

你可能感兴趣的:(vue.js,javascript,前端)