当您尝试在反应中访问本地json文件时,需要启用javascript才能运行此应用程序响应

时间:2018-08-06 16:16:25

标签: reactjs api ecmascript-6

enter image description here enter image description here enter image description here错误消息我正在尝试使用fetch()之类的方法访问本地.json文件

$array = $array ?: array('Not Found');
echo json_encode($array);

但是当我在网络中看到它正在显示

  

您需要启用javascript才能运行此应用

我检查了其他页面,但无法解决此问题。 如何解决此问题

6 个答案:

答案 0 :(得分:1)

我不确定您尝试访问本地json文件的含义。如果这是本地文件的意思,则无法访问运行网页的设备上的文件。您只能访问服务于应用程序的Web服务器上位于应用程序目录中的文件。我假设第二种情况,并假设您在应用程序的顶级目录中有一个名为fakedata.json的文件。为了访问该文件,您可以按以下方式使用导入:

import myJsonFile from "./fakedata.json"

如果要使用访存来动态加载,则应将./放在开头,

fetch('./fakedata.json')

,以便它获取位于根目录下的名为fakedata.json的文件。

答案 1 :(得分:0)

当客户端package.json文件中未指定服务器代理时,我收到此消息。

"proxy": "http://localhost:5000"

(假设服务器已设置为侦听端口5000。就我而言,添加后还要求服务器重新启动)

答案 2 :(得分:0)

从第二张图像中的错误消息中可以明显看出,该文件包含无效的JSON数据。确切地说,该文件中的第一个字符是<,在JSON文件中无效。

未处理的拒绝(SyntaxError):JSON中位置0处的意外令牌<。 这意味着文件中的第一个字符是<无效。

enter image description here

答案 3 :(得分:0)

我面临类似的问题。

我已将以下代码放在app.use之后

app.get('/*', (req, res) => {
   res.sendFile(path.join(__dirname, '/../', 'build', 'index.html'));
});

直接满足所有API请求的请求。

也许这可以帮助其他人解决此问题。

答案 4 :(得分:0)

这意味着,您没有从请求中得到任何东西,或者是您的json文件在目录中不存在,或者需要进行某些身份验证。 。 尝试转到DevTools,选择“网络”标签, 然后再次发送您的请求。如果看到端点,则将鼠标悬停在其上以查看其是否指向正确的目录。

“ / fakedata.json”-指向“ http://localhost/fakedata.json” “ fakedata.json”-指向“ http:// localhost”下的目录,不一定是直接子目录。请注意开头的“ /”。

enter image description here

答案 5 :(得分:0)

可能是文件,fakedata.json 在错误的目录中。 只需将 fakedata.json 文件从 src 目录移动到 public 目录。那么它应该可以工作。