axios不会对url中的功能性字符进行编码
栏目: JavaScript · 发布时间: 5年前
内容简介:在请求中如果url包括特殊字符的话,可能会导致接口接收参数失败,所以前端一般会对特殊字符进行encode,方法有两种对整个url进行编码,会避开url中的功能性字符,例如,& ? [ ]编码前:
在请求中如果url包括特殊字符的话,可能会导致接口接收参数失败,所以前端一般会对特殊字符进行encode,方法有两种
- encodeURI()
对整个url进行编码,会避开url中的功能性字符,例如,& ? [ ]
编码前: http://10.10.67.67 :8080/api/chain/basic/users?params=+[
编码后: http://10.10.67.67 :8080/api/chain/basic/users?params=%2b[
- encodeURIComponent()
对某个参数进行编码,会编码所有特殊字符
编码前: http://10.10.67.67 :8080/api/chain/basic/users?params=+[
编码后: http://10.10.67.67 :8080/api/chain/basic/users?params=%2b%5B
在axios中就会对get请求的整个url进行encodeURI,导致有些get方法不能传[],所以在请求拦截器中可以对get方法单独处理,避开axios的encodeURI
myAxios.interceptors.request.use( config => { let url = config.url // get参数编码 if (config.method === 'get' && config.params) { url += '?' let keys = Object.keys(config.params) for (let key of keys) { url += `${key}=${encodeURIComponent(config.params[key])}&` } url = url.substring(0, url.length - 1) config.params = {} } config.url = url return config },
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 来聊聊非功能性需求
- 非功能性需求不要成项目的坑
- 非功能性架构和高可用性设计(200731)
- slf4j-spring-boot-starter v1.3.1 发布,功能性增强
- 字符串、字符处理总结
- XML 非法字符(转义字符)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法导论(原书第2版)
[美] Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein / 潘金贵 等 / 机械工业出版社 / 2006-9 / 85.00元
这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图......一起来看看 《算法导论(原书第2版)》 这本书的介绍吧!