码迷,mamicode.com
首页 > 移动开发 > 详细

React + axios 使用

时间:2021-02-23 14:10:47      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:对象   否则   apk   targe   ken   data   log   head   doc   

1. 简单封装使用

创建一个request组件来定义全局url

  import axios from ‘axios‘;

  export const newVar = axios.create({
      baseURL:"http://127.0.0.1:8080",
      timeout: 5000
  })
  • 切记这里要将newVar抛出, 否则获取不到

在使用的地方直接调用

  newVar({
            url:"/api/public/apk",
            method:"GET",
            // headers: {
            //     "Content-Type": "application/json"
            // },
            params:{"a":"hello"}
        }).then(res=>{
            console.log(res.data)
        }).catch(err=>{
            console.log(err)
        })
  • 在这里url会自动拼接上全局url
  • 写的参数会自己带到axios对象中

2. 将各个api请求进行封装,方便后期维护

使用.post 这类封装

封装

  export function getAPK(data){
      return newVar.post(‘/index‘, data.data, { params:{"a":"b"}, headers: {‘token‘: ‘application/x-www-form-urlencoded‘}})
}
  • 这里{ params:{"a":"b"}, headers: {‘token‘: ‘application/x-www-form-urlencoded‘}}, 只是说明配置参数如何传递,没有实际意义

调用

  getAPK({
            data:{"a":"index"}
        }).then(res=>{
            console.log(res)
        }).catch(err=>{
            console.log(err)
        })
使用axios对象封装
export function getAPK(data){
    console.log("data", data)
    return newVar({
        url: "/index",
        method:"POST",
        data:data.data,
        headers: {"token": "token"}
    })
}

注意: 在这里数据使用 data.data 进行传递,如果直接写data, 后台会接受到{"data": {}} 这样格式的内容, 多嵌套了一层

3.你也可以添加请求拦截器

http://www.axios-js.com/zh-cn/docs/#拦截器

React + axios 使用

标签:对象   否则   apk   targe   ken   data   log   head   doc   

原文地址:https://www.cnblogs.com/ShanCe/p/14429218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!