最近在做项目的时候,遇到了一个奇奇怪怪的问题,就是当我使用json字符串发get请求时,总是出错,让我非常困扰。后来我花了一些时间研究这个问题,终于找到了问题所在。
首先,我发现我的json字符串格式没有问题,因为我使用了pre标签来展示我的代码。但是,当我在代码中使用这个字符串时,每次都会出现无法识别的字符。
axios.get('/api/getData',{ params: { jsonStr: '{"name":"Tom","age":18}' } }) .then(res => { console.log(res) }) .catch(err => { console.log(err) })
在排查了一番后,我发现了问题的根本原因:在发送get请求时,参数需要进行url编码,但是我并没有对传入的json字符串进行编码操作。
axios.get('/api/getData',{ params: { jsonStr: encodeURIComponent('{"name":"Tom","age":18}') } }) .then(res => { console.log(res) }) .catch(err => { console.log(err) })
经过这番修改后,我终于可以正常地发送get请求并获得返回值了。这个问题虽然看起来比较简单,但是在实际开发中还是会经常出现,一定要注意。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。