Javascript HTTP响应在浏览器中乱七八糟,但正如在cURL或node.js中所预期的那样
我正在使用axios创建一个HTTP请求(也尝试了fetch),得到的响应完全是胡言乱语。 奇怪的是,在Node.js或cURL中使用axios的相同请求会产生预期的JSON。 我怀疑这与编码有关,但我不确定 以下是请求在axios中的外观:Javascript HTTP响应在浏览器中乱七八糟,但正如在cURL或node.js中所预期的那样,javascript,node.js,browser,encoding,axios,Javascript,Node.js,Browser,Encoding,Axios,我正在使用axios创建一个HTTP请求(也尝试了fetch),得到的响应完全是胡言乱语。 奇怪的是,在Node.js或cURL中使用axios的相同请求会产生预期的JSON。 我怀疑这与编码有关,但我不确定 以下是请求在axios中的外观: axios({ "method":"GET", "url":"THE_URL", "headers":{ "useQueryString"
axios({
"method":"GET",
"url":"THE_URL",
"headers":{
"useQueryString":true
},"params":{
"api-version":"3.0"
}
})
.then((response)=>{
console.log(response)
})
.catch((error)=>{
console.log(error)
})
以及对上述请求的答复:
��\]奥格�+��� o�
1.�sc'�Պ��Ly�一个推测性的回答:在我看来,响应是用gzip内容编码返回的,而没有在响应中提供这个内容编码:gzip
头。@spender感谢您的回答。有办法吗?我没有访问实际服务器的权限,因为这是来自第三方API的响应。首先,您需要确定数据是否正确。如果是这样,您需要将其作为二进制数据下载:然后手动解码。这里可能有用。一个推测性的回答:在我看来,响应是用gzip内容编码返回的,而没有在响应中提供这个内容编码:gzip
头。@spender谢谢你的回答。有办法吗?我没有访问实际服务器的权限,因为这是来自第三方API的响应。首先,您需要确定数据是否正确。如果是这样,您需要将其作为二进制数据下载:然后手动解码。看起来这里可能有用。