使用axios自封装request用于请求(可以上传图片格式)(无敌好用版!!!)

根据axios封装的request请求,可以用于图像的上传。

import axios from 'axios';
//load是上传图片时放加载画面的盒子
//let load=document.querySelector(".load");
//config是图片加载画面的一些属性,可以自己定义,也可以在axios官网头像上传那块找到上找到。
export function request(url,method="get",data={},config={}){
    //load.style.display="block";
    return axiosRequest(url, method,data, config)
}

function axiosRequest(url,method,data,config) {

    if (method.toLowerCase()==='post'){
        if (data instanceof Object){
            let params=new URLSearchParams();
            for (let key in data){
                params.append(key, data[key]);
            }
            data = params;
        }
    }else if (method.toLowerCase()==='file'){
        method="post";
        if (data instanceof Object){
            let params=new FormData();
            for (let key in data){
                params.append(key, data[key]);
            }
            data = params;
        }
    }
    let axiosConfig={
        url:url,
        method:method.toLowerCase(),
        data:data
    };
    //if (config instanceof Object){
        //for (let key in config){
           // axiosConfig[key]=config[key];
        //}
   // }
    return axios(axiosConfig).then(res=>{
        //load.style.display="none";
        return res.data
    });
}

调用方式:

import {request} from '../../...'
//默认不传method就是get,直接用
request(url).then(res=>{
	...
})
//post
request(url,'post',{cellphone:...,password:...}).then(res=>{
	...
})
//file
如果不需要图片加载画面就不需要config
var config={...}
//headfile:e.target.files[0]是固定写法
request(url,'file',{headfile:e.target.files[0]},config).then(res=>{
	...
})
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值