axios配置代理

1.安装axios

npm i -S axios

2.新建src/utils/request.js项目核心请求方法的模块方法

import axios from 'axios'

// 创建一个自定义的axios方法(比原来axios多个基地址)
// axios函数请求的url地址前面会被拼接基地址,然后axios请求baseURL+url后台完整地址
const request = axios.create({
   baseURL:"/api",
   timeout:3000
})

// 导出自定义的axios方法,供外面调用传参发请求
  export default request

3.新建src/api/index.js项目接口方法统一管理模块方法

import request from '@/utils/request'

export const loginAPI =(data)=>{
   // 这里先用这个接口测试下,如果url以http开头会忽略baseURL,axios直接请求此地址
    return request({
      method:"POST",
      url:"/login",
              // Content首字母C要大写
         headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, //请求头要加这个},
    data: qs.stringify(data)
    }
  })
}

4.在任意组件src/App.vue中,引入接口请求方法,并请求数据

import {loginAPI} from '@/api'
export default {
 created(){
 this.loginFn()
 },
 methods:{
    async loginFn(){
       const res = await loginAPI()
       console.log(res)
   }
  }
}

这种分层架构思想,可以更好的统一管理项目中所有的接口,也并方便统一给axios方法添加拦截器和修改基地址

5.产生跨域,配置代理

// vue.config.js
module.exports = {
  devServer:{
     proxy:{
       "/api":{
          // 代理目标地址
            target:"http://1.116.64.64:5004/api2",
          // 允许跨域
            changeOrigin:true,
          // 重写路径
            pathRewrite:{
              "^/api":""
             }
          }
      }
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 axios 进行代理请求的时候,需要先进行相关的配置,以下是一个简单的配置示例: ```js // 引入 axios 库 import axios from 'axios' // 创建一个 axios 实例 const instance = axios.create({ // 设置代理地址 baseURL: 'http://localhost:3000', // 跨域请求时是否需要使用凭证 withCredentials: true, // 请求头信息 headers: { 'Content-Type': 'application/json' }, // 超时时间 timeout: 10000 }) // 将实例导出,方便其他模块使用 export default instance ``` 在这个配置中,我们通过设置 `baseURL` 来指定代理地址,这里使用的是 `http://localhost:3000`。同时,我们还可以设置其他的请求参数,例如跨域请求时是否需要使用凭证、请求头信息、超时时间等等。 接下来,我们可以在其他模块中使用这个实例进行代理请求。例如: ```js // 引入 axios 实例 import axios from './axios' // 发起代理请求 axios.get('/api/user') .then(response => { console.log(response) }) .catch(error => { console.log(error) }) ``` 在这个例子中,我们使用 `axios.get('/api/user')` 发起了一个代理请求,其中 `/api/user` 是我们需要请求的接口地址。由于我们在配置中设置了代理地址为 `http://localhost:3000`,因此请求最终会被转发到这个地址。 需要注意的是,如果代理请求涉及到跨域问题,需要在后端进行相应的跨域设置。另外,如果后端接口需要使用凭证(例如 cookie),则需要在配置中设置 `withCredentials: true`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值