vue之qs使用&ajax请求封装&Object.keys

安装和使用

安装

npm install qs

使用

import Qs from 'qs'
Qs.parse();//将url解析成对象形式
Qs.stringify();//将对象序列化成url形式,以&进行拼接

ajax请求封装

const Ajax = async ({ url, type, data, ContentType='form', msg = '获取信息失败!' }) => {
    let c = null

    let headers={"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"}
    if(ContentType=='json'){
        headers={"Content-type": "application/json; charset=UTF-8"}
    }


    if (type === 'post') {
        if (!url.includes('uploadFile') && !url.includes('postFile') && ContentType!='json') {
            data = Qs.stringify(data)
        }
        try {
            c = await Axios.post(url, data ,{
                headers,
            })
        } catch (error) {
            // Message.error(msg)
            c = error
            // console.log(error, '123')
        }
    }
    if (type === 'get') {
        if (data) {
            let dataArray = []
            Object.keys(data).forEach(key =>
                dataArray.push(`${key}=${data[key]}`)
            )
            if (url.search(/\?/) === -1) {
                url += '?' + dataArray.join('&')
            } else {
                url += '&' + dataArray.join('&')
            }
        }
        try {
            c = await Axios.get(url)
        } catch (error) {
            // Message.error(msg)
            c = error;
            console.log(error)
        }
    }
    return c
}

export default Ajax

Object.keys

// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值