我有一个express应用程序,它带有一个简单的GET(使用axios(1.2.0)):
const result: AxiosResponse = await axios.get('https://jsonplaceholder.typicode.com/posts')
result.data以一个模糊的、编码错误的字符串结束:
k�H���>������T��N.���r�H�v �_"9'?1���J��\���LA. ��H���!�b�R� 9�܅��ڹ�K�}��%��A�v�Q*�g�dwf� ..goes long
我已经尝试了不同的配置添加到请求,但没有运气。也找不到任何相关的职位在其他地方。
为什么会这样?我该怎么补救?
2条答案
按热度按时间mwecs4sa1#
您需要在axios.get头中添加带有application/json的
Accept-Encoding
。默认值为
gzip
您可以将1.2与以下代码一起使用
测试结果
mqxuamgl2#
编辑
已尝试使用chrome开发控制台执行GET操作,请求成功。数据已正确解码。
所以我猜这是一个axios的问题。尝试使用旧版本。
这似乎是JsonPlaceholder API的问题。
Axios无法正确解码Json,可能是因为某些服务器在压缩方面配置错误。
我试着用另一个有相同响应头和相同压缩的URL获取,它工作得很好。