axios的基本使用方法

1 篇文章 1 订阅

其实吧感觉看官网就挺好的:http://www.axios-js.com/zh-cn/docs/ 哈哈

npm install axios --save

axios({
    //请求地址
    url:'/user',
    //请求类型
    method:'post',
    //请求根目录
    baseURL:'http://xxx.xx.xx.x/api',
    // URl传递参数
    params:{id:2},//get请求时用
    data:{key:''},//post请求时用
    //自定义请求头
    headers:{'x-Requested-With':'XMLHttpRequest'},
    //设置超时时间
    timeout:5000,
    //跨域是否带Toten
    withCredentials:false,
    //身份信息验证
    auth:{uname:'',pwd:''},
    
    //具体可以看这个官网链接:http://www.axios-js.com/zh-cn/docs/
})

普通的使用

axios({
	url:'http://xxx.xx.xx.x/api'
	method:'get',   //get是默认的
}).then(res=>{
        console.log(res.data);
    })

并发
all(这个方法就是里面全部的请求都完成了再将各个请求的结果以数组的形式返回给你)

axios.all([axios({
	baseURL:'http://xxx.xx.xx.x',  //设置默认api前缀
	url:'/api'
	timeout:5,//设置请求超时时间
	}),axios({
		baseURL:http://xxx.xx.xx.x',
		url:'/api'
		params:{
			type:'sell',
			page:5000   //毫秒
		}
})]).then(axios.spread((res1,res2)=>{
console.log(res1);
})

项目使用时建议封装
封装:先创建js文件axiosRequest

import axios from "axios";

//举个栗子(详细操作看官网:http://www.axios-js.com/zh-cn/docs/)
const req = (method, url, params) => {
    return axios({
        method: method,
        url: url,
        // headers: {
        //     'Content-Type': 'application/x-www-form-urlencoded',
        //     token: localStorage.getItem('logintoken')
        // },
        data: params,
        traditional: true,
        transformRequest: [
            function(data) {
                let ret = ''
                for (let it in data) {
                    ret +=
                        encodeURIComponent(it) +
                        '=' +
                        encodeURIComponent(data[it]) +
                        '&'
                }
                return ret
            }
        ]
    }).then(res => res.data);
};
//简单的封装(再举个栗子)
const getdata =(url,data)=>{
    const instance =axios.create({
        baseURI:'http://http://xxx.xx.xx.x',
    })
    return instance({
        url:url,
        params:data
    })
}

//将要使用的封装方法导出
export default getdata

要使用的位置

//导入import getdata from './axiosFun'

getdata('/api',{id:parmas}).then(res=>{
	console.log(res)
}).catht(err=>{
	console.log(err)
})

可以再封装 (再创建一个js文件 baes)

export const dataapi =(parmas)=>{return getdata('/api',{id:parmas})}

export const dataapi2 =(parmas)=>{return getdata('/api',{id:parmas})}

要使用的位置

import {dataapi} from "../../api/base";

dataapi("2").then(res=>{
        console.log(res);
      }).catch(err=>{
        console.log(err);
      })
  • 8
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值