axios 的下载,封装,使用

这篇博客介绍了如何在JavaScript项目中使用axios库来创建一个自定义的HTTP客户端,并设置请求和响应拦截器。在请求拦截器中,它添加了token到请求头,而在响应拦截器中,对400错误进行了处理,根据不同的URL重定向到登录页面。此外,还展示了如何封装axios请求并导入到其他文件中使用。
摘要由CSDN通过智能技术生成

axios 的使用

npm install axios -S

创建tools文件 axios请求拦截器

import axios from 'axios'

// 自定义axios
const myaxios = axios.create({
  baseURL: 'http://121.5.59.4/api',
  timeout: 10000
})

// 拦截请求,携带token数据
myaxios.interceptors.request.use(function (config) {
  config.headers.token = localStorage.getItem('token')
  // console.log(config)
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

// 拦截响应,登录守卫
myaxios.interceptors.response.use(function (response) {
  const url = response.config.url
  if (response.data.code === 400) {
    // console.log(response.config.url)
    // console.log('登录失效,需要重新登录')
    if (url.includes('cart')) {
      location.href = '/login?to=/cart'
    } else if (url.includes('order')) {
      location.href = '/login?to=/order'
    } else if (url.includes('user')) {
      location.href = '/login?to=/my'
    } else if (url.includes('search')) {
      location.href = '/login?to=/search'
    }
  }
  return response
}, function (error) {
  // Do something with response error
  return Promise.reject(error)
})

export default myaxios

引入设置好的baseUrl 配置文件

import axios from '../tools/index.js'

封装请求
export function getdata () {
  return axios.get('http://localhost:3000/api/pro/sort')
}

文件引入 封装 请求数据

import { getBanner } from '../request/axios.js'

 getdata().then(data => {
 
      console.log(data)
      
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值