【发布时间】:2020-06-01 08:30:00
【问题描述】:
当我尝试从服务器端点获取数据时遇到 JSON 解析错误。
Axios 首次无法自动解码 JSON 响应。
调试我的代码,我发现 Axios 在服务器响应中捕获了一些意外字符,导致 JSON 无效。
7F5
{
"message": "OK"
...cut
}
0
错误:
(node:14940) UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token F in JSON at position 1
我想这可能是字符集编码问题。
axios客户端配置:
const pclClient = axios.create({
baseURL: "http://server/endpoint",
responseType: "json",
responseEncoding: "utf8",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
charset: "utf-8"
}
});
使用 postman 或 Chrome 扩展高级请求客户端等工具,问题不存在。
有人可以帮我吗?
【问题讨论】:
-
尝试删除
responseEncoding,charset -
您以
7F5开头的消息不是有效的 JSON。 -
@haongdv。已删除,但我一直有问题。感谢您的评论。
-
这看起来像分块的 HTTP,除了内容不是 2037 (0x7F5) 字节长。分块 HTTP 的详细信息通常应由 HTTP 客户端处理。
-
这里很有趣。解决后请务必花时间写一个“答案”。
标签: javascript node.js json axios