如何解决警告"JSON Parse error: Unrecognized token '<'"?



我正在为IOS设备编写React Native应用程序,使用Django服务器(Python)。我看到这个问题被问了很多次,但是没有一个答案适合我,所以也许有人可以帮助我。

这是我的代码:

let url = base_url + eventManager(id);
let request = {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Token ${token}`,
},
};
await fetch(url, request, { timeout: 2000 })
.then(async (res) => {
const data = await res.json();
....
}

我收到一个警告'JSON解析错误:无法识别的令牌'<"我已经试过了

  • 用res.text()替换res.json()
  • 删除内容类型标题
  • 删除timeout参数
  • 这样修改句柄承诺:
    .then(res => res.json())
    .then(resJson => {
    ...
    }
    

有什么建议吗?

感谢

这很可能意味着您从web服务器获得的响应不是JSON对象,而是HTML文档。对从res.text()获得的输出执行console.log,其余的应该很容易弄清楚。很可能你请求的端点是错误的,例如在express.js的情况下如果你请求的端点不存在,它会响应这个,

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /</pre>
</body>
</html>

我想这在Django中也是类似的,如果你说你已经尝试过使用response.text()方法,那么也许要确保错误来自你怀疑的代码部分。

相关内容

最新更新