【发布时间】:2019-08-14 08:10:19
【问题描述】:
我想在 react js 中获取我的 Json 文件,为此我使用fetch。但它显示一个错误
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
可能是什么错误,我不知道。我什至验证了我的 JSON。
handleGetJson(){
console.log("inside handleGetJson");
fetch(`./fr.json`)
.then((response) => response.json())
.then((messages) => {console.log("messages");});
}
我的 Json (fr.json)
{
"greeting1": "(fr)choose an emoticon",
"addPhoto1": "(fr)add photo",
"close1": "(fr)close"
}
【问题讨论】:
-
也许你得到了错误页面的响应,看看开发者工具中的网络标签是什么响应。
-
是的。我在 fr.json 中得到了一些垃圾 html。
-
好的,我解决了这个问题。首先需要通过
localhost加载.json。所以我改变了fetch('http://localhost/img/fr.json')。此外,我在 localhost:8080 上运行我的应用程序,因此发生了一个 CORS 问题,通过 chrome 插件禁用它来解决这个问题。无论如何,非常感谢@jcubic 的提醒,因为有时代码中没有任何错误。 -
检查您正在加载的数据是否为 JSON 格式(“
-
我正在使用 React 中的 Api,我已将其从 await fetch(
https://api.com/search?q=chicken&app_id=${APP_ID}&app_key=${APP_KEY}) 更改为 await fetch(http://localhost:3000/https://api.com/search?q=chicken&app_id=${APP_ID}&app_key=${APP_KEY}),但我仍然收到一条错误消息:“Unexpected token
标签: javascript json ajax reactjs