用于测试的 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 添加到获取方法中即可

根据您显示的代码,只有两种可能性:

  1. 您的服务器正在响应 HTML 资源(可能 index.html)的内容作为对 data.json 或 [=16] 请求的响应=]

  2. data.json 看起来像这样,您提供的 JSON 字符串:

"You need to enable JavaScript to run this app."

data.json 是否在您项目的 ./public 文件夹中?