调用Mailchimp API时JSON.parse报Unexpected token <错误如何排查
报错排查方向
该错误本质是传入JSON.parse()的data并非合法JSON格式,而是以<开头的内容,绝大多数场景下是接口返回了HTML格式的错误页面(比如401、404、500错误页的开头均为<字符),可按以下顺序排查:
- 打印原始返回内容定位问题
在console.log(JSON.parse(data));前新增一行代码console.log('原始返回内容:', data),直接查看返回的完整内容:如果是HTML错误页,可直接从页面文本中获取具体错误原因,比如权限不足、路由不存在、参数非法等。 - 二次核对Mailchimp API配置项
即使你已确认配置无误,仍需逐一校验以下细节:- API密钥后缀的区域编号和请求URL的区域前缀是否匹配,例如密钥后缀为
-us21时,请求域名必须为https://us21.api.mailchimp.com,区域编号错误会触发401报错 - 订阅列表ID是否正确,无多余/缺失字符
- 请求方法是否为接口要求的POST方法
- 请求头配置是否合规:
Content-Type需设置为application/json,授权头Authorization的格式必须为apikey 你的完整API密钥,格式错误会返回401错误页
- API密钥后缀的区域编号和请求URL的区域前缀是否匹配,例如密钥后缀为
- 校验请求体格式合法性
你传入接口的请求体需严格符合Mailchimp的接口规范,例如members数组必填的email_address、status字段是否漏传、字段名是否拼写错误,非法结构会触发400类HTML错误返回。 - 排查网络连通问题
确认本地网络可正常访问Mailchimp API服务,未被防火墙、代理拦截,拦截场景下也可能返回运营商或代理的HTML错误页。
内容的提问来源于stack exchange,提问作者user9564579
相关产品推荐
相关产品推荐

