react中用fetch请求json数据,返回的是html页面

问题

在react代码中需要渲染一个地图组件,请求了一个json数据,预期是请求成功后将json数据注入到地图组建中去,但是在控制台中看到的是 返回的是 index.html里面的内容,并没有返回json数据。

我试了下请求别的json文件或者是一个不存在的json文件,返回的也是index.html里面的内容

相关代码

 componentWillMount() {
   fetch('../data/wuhan.json')
   .then(function(response) {
     return response.json();
   })
   .then(function(json) {
     echarts.registerMap('wuhan', json);//注册地图组件
   })
   .then(function() {
     this.updataSeries();//处理series
   })
 };

控制台报错

clipboard.png

我的项目目录结构

clipboard.png

控制台中查看请求的json,返回的是 public路径中的 index.html里面的内容

clipboard.png


请教下各位,这个是什么原因造成的,json一直请求不成功?

阅读 9.5k
2 个回答

fetch说白了就是个ajax请求,ajax必须在http协议下运行,放进public目录下,直接fetch('/wuhan.json')试试

不能 fetch 一个文件啊,或许你需要的是一个 json-server

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏