【发布时间】:2021-11-09 04:36:06
【问题描述】:
我正在尝试将 JSON 文件提取到我的代码中。它与我试图将其放入的文件位于同一目录中,因此从我所看到的文件路径来看,这不是问题。这是我得到的错误...
VM45:1 Uncaught (in promise) SyntaxError: Unexpected token
import React from 'react';
export default function Coding() {
const [Coding, setCoding] = React.useState([]);
React.useEffect(() => {
fetch('./Objects.json')
.then((result) => {
console.log(result.json())
return result.json();
})
.then((pop) => {
console.log('Coding')
setCoding(pop);
console.log(Coding)
})
.catch((err) => {
console.log(err);
});
}, [])
return (
<div>
</div>
)
}
这是 JSON:
[
{
"ID": 1,
"title": "Example",
"content": "lorem ipsumssssssssssssssssss"
},
{
"ID": 2,
"title": "Example",
"content": "lorem ipsumssssssssssssssssss"
},
{
"ID": 3,
"title": "Example",
"content": "lorem ipsumssssssssssssssssss"
},
{
"ID": 4,
"title": "Example",
"content": "lorem ipsumssssssssssssssssss"
},
{
"ID": 5,
"title": "Example",
"content": "lorem ipsumssssssssssssssssss"
}
]
【问题讨论】:
-
返回的是什么?您确定文件是在给定的 URL 下提供的吗? (检查网络标签。)
-
另外请记住,如果您使用客户端路由,相对 URL 可能无法为您提供所需的结果...例如,从网站
https://example.com/some/route/here获取的./Object.json将转到 @987654325 @ - 在此处指定相对于根的 URL 会更有意义。 -
JSON 文件存储在本地,在同一个文件夹中。不在互联网上托管。
-
那么你如何期望它在运行时从带有
fetch的网站加载呢?也许您想在编译时包含它?