用于测试的 React 获取本地 json 文件不起作用
React fetch local json file for testing does not work
我正在尝试从本地获取 .json 文件,并且
我收到响应 200,但主体响应为 HTML:“您需要启用 JavaScript 到 运行 这个应用程序。”
我当然启用了javascript。
我不想导入文件模拟真实抓取
本地获取如何在 React 中工作?我怎么知道获取路线是否正确?它没有给出任何有用的错误提示。
useEffect(() => {
const getData = async () => {
const dataFromLocal = await fetchData();
console.log('dataFromLocal', dataFromLocal);
}
getData();
}, [])
const fetchData = async () => {
const response = await fetch('data.json');
const data = await response.json();
return data;
}
我找到了它的工作原理:
const response = await fetch('data.json',
{headers:
{'Content-Type': 'application/json','Accept': 'application/json'}
});
只需将此 headers object 添加到获取方法中即可
根据您显示的代码,只有两种可能性:
您的服务器正在响应 HTML 资源(可能 index.html
)的内容作为对 data.json
或 [=16] 请求的响应=]
data.json
看起来像这样,您提供的 JSON 字符串:
"You need to enable JavaScript to run this app."
data.json
是否在您项目的 ./public
文件夹中?
我正在尝试从本地获取 .json 文件,并且
我收到响应 200,但主体响应为 HTML:“您需要启用 JavaScript 到 运行 这个应用程序。”
我当然启用了javascript。
我不想导入文件模拟真实抓取
本地获取如何在 React 中工作?我怎么知道获取路线是否正确?它没有给出任何有用的错误提示。
useEffect(() => {
const getData = async () => {
const dataFromLocal = await fetchData();
console.log('dataFromLocal', dataFromLocal);
}
getData();
}, [])
const fetchData = async () => {
const response = await fetch('data.json');
const data = await response.json();
return data;
}
我找到了它的工作原理:
const response = await fetch('data.json',
{headers:
{'Content-Type': 'application/json','Accept': 'application/json'}
});
只需将此 headers object 添加到获取方法中即可
根据您显示的代码,只有两种可能性:
您的服务器正在响应 HTML 资源(可能
index.html
)的内容作为对data.json
或 [=16] 请求的响应=]data.json
看起来像这样,您提供的 JSON 字符串:
"You need to enable JavaScript to run this app."
data.json
是否在您项目的 ./public
文件夹中?