vue + axios config url 转码 空格转成+,导致请求失败(前端解决)

在请求中如果url包括特殊字符的话,可能会导致接口接收参数失败(例:空格 被转换成 + 号),所以前端一般会对特殊字符进行encode

在这里插入图片描述

encodeURI 对一个完整的URI 进行编码,
而encodeURIComponent对URI 的一个组件(单个参数)进行编码。 浏览器get请求
service.interceptors.request.use(config => {
let url = config.url
    if (config.method === 'get' && config.params) {
        url += '?' // 拼接参数
        // 获取所有参数,通过循环 拼接所有参数,encodeURIComponent对参数编码,
        Object.keys(config.params).map(key => {
            url += `${key}=${encodeURIComponent(config.params[key])}&`
        })
        url = url.substring(0, url.length - 1) // 删除最后一个&字符
        config.params = {} // 参数已经存在于 url中
    }
    config.url = url
    return config
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值