我目前正在使用express、node和prisma来创建服务器,但是每当我使用axios向另一个API请求GET请求时,响应数据都包含带问号的菱形字符。我已经将charset和responseEncoding指定为utf-8,但这并没有解决任何问题。有什么建议吗?
import axios from "axios";
export function xola() {
const options = {
method: "GET",
url: "https://sandbox.xola.com/api/categories",
headers: {
accept: "application/json",
"X-API-VERSION": "2017-06-10",
},
charset: "utf8",
responseEncoding: "utf8",
};
axios
.request(options)
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.error(error);
});
}
1条答案
按热度按时间uwopmtnx1#
我建议检查您的
axios
库的版本。看起来
axios
的最新version 1.2.0在响应解压缩逻辑中有变化,如果服务器不设置响应内容长度头,它就不起作用。如果是这种情况-只是暂时降级到最后的stable version1.2.3
,即:更新
看起来添加标题
'Accept-Encoding': 'identity'
解决了一个问题,而无需降级