fetch获取本地json文件问题

写这个博客主要目的是有必要警醒一下自己,当然如果有其他猿有看到或许也能帮助下您。(也许其它大神在就知道了,恕小弟无知,才刚刚开窍)。

问题很简单:上码( header.jsx)

[javascript]  view plain  copy
  1. fetchSelData = () => {  
  2.         fetch('../data/selectData.json')  
  3.             .then((res) => {return res.json(); })  
  4.             .then((data) => {alert(JSON.stringify(data));this.setState({selV:data.obj});})  
  5.             .catch((e) => {console.log(e.message); });  
  6.     }      

上面是我用fetch获取本地的一个json文件,声明代码是没问题的。然后我的本地文件是放在在这个:


印象中“../”一直表示的是上一级,然而这里的上一级不是从header.jsx开始的。一直以为路径是没有问题的。故运行起来。但不幸的是报错了:


上面报的是json数据格式的有问题,所以就去看是不是数据的问题,json数据测试来测试去都没问题呀……就这样花费几个小时浪费在json数据上还有fetch版本上,最后不得已找了个远程数据来测试,是可以显示的。那问题就很明显了,报错的原因是找不到路径从而解析数据出错。

经过网上一番好找终于找到答案了。

原因就是这个里的“../”是相对你的首页index.html而言的。所以将json数据放在相对index.html上问题就解决了。

猜你喜欢

转载自blog.csdn.net/u013040887/article/details/80429843