【问题标题】:JavaScript fetch outputting error in consoleJavaScript在控制台中获取输出错误
【发布时间】:2021-09-09 17:03:18
【问题描述】:
fetch('info.json').then(function (response) {
  return response.json();
}).then(function (obj) {
  console.log(obj);
}).catch(function (error) {
  console.error('Something went wrong with retrieving the info!');
});

文件“info.json”与这个 javascript 文件位于同一目录中,当我使用开发工具在 chrome 上运行它时,控制台输出“检索数据出现问题!”我不确定如何解决这个问题,因为这是我第一次使用开发人员工具并通过 chrome 上的扩展程序卸载包。任何帮助,将不胜感激!对于那些好奇的人,我正在尝试为网站创建一个自动填充程序,并且“info.json”文件包含名称、地址等信息。

【问题讨论】:

  • 您在 Chrome 开发工具的网络选项卡中看到了什么?
  • 不太确定这是否仍然适用,但您是否尝试过类似此处建议的方法,stackoverflow.com/a/23398129/1427878
  • 在您的.catch() 块中,您丢弃实际的错误消息,因此它将打印Something went wrong with retrieving the info! 任何错误。尝试添加类似console.error(error) 的日志 - 没有错误消息很难判断出了什么问题

标签: javascript json google-chrome-extension google-chrome-devtools fetch-api


【解决方案1】:

这将向https://example.com/info.json发出请求

你需要把它放在你的清单中:

  "web_accessible_resources": [
    "yourfolder/*"
  ],

然后在你的脚本中获取 url

const myUrl = chrome.runtime.getURL('yourFolder/info.json')

fetch(myUrl).then(function (response) {
  return response.json();
}).then(function (obj) {
  console.log(obj);
}).catch(function (error) {
  console.error('Something went wrong with retrieving the info!');
});

【讨论】:

  • 太棒了,这成功了!另外,如果你能解释一下,为什么我的 chrome 浏览器总是在我更改我的 javascript 文件中的代码时刷新?有一个 hot-reload.js 文件,但它会重新加载我所在的任何页面,即使它与扩展无关。
  • 这个我真的不知道。我使用网络分机github.com/mozilla/web-ext。发展
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
  • 2017-11-20
  • 1970-01-01
  • 2013-04-24
  • 2014-08-25
相关资源
最近更新 更多