【问题标题】:how to GET local file information with fetch API for a firefox extension如何使用 fetch API 获取本地文件信息以获取 firefox 扩展
【发布时间】:2019-01-15 01:28:07
【问题描述】:

我正在尝试将本地 csv 文件导入到我的 Firefox 扩展程序 background.js 脚本中。 到目前为止,我的脚本如下所示:

fetch('http://localhost:8080/folder1/myFile.csv').then(function(response) {
// Convert to JSON
return response.json();
}).then(function(j) {
// `j` is a JavaScript object
console.log(j);
});


fetch(request).then(function() { /* handle response */ });

而且我似乎无法得到任何 console.log-ed。我应该使用其他方法将我的 csv 作为对象吗?

另外,我用的是firefox开发者版

【问题讨论】:

    标签: firefox xmlhttprequest firefox-addon fetch firefox-addon-webextensions


    【解决方案1】:
    // Convert to JSON
    return response.json();
    

    json() 方法将 JSON 转换为 JSON,而不是 JSON。 JSON and JavaScript objects are not the same thing!

    您需要一个 CSV 解析器。浏览器没有内置的,但是有很多第三方库。 Google 出现了 Papa ParseCSV.js

    【讨论】:

      【解决方案2】:

      您需要授予插件访问“localhost”域的权限。否则,由于跨域请求策略,您将创建的任何 fetchXMLHttpRequest 都将失败。你可以通过在你的插件manifest.json中添加这个权限来做到这一点:

      ...
      
      "permissions": [
        "*://localhost/*"
      ]
      

      有关此的更多详细信息,请参阅有关 manifest.json permissions 的 MDN 页面。

      当然,您还必须确保正确配置本地主机服务器以提供文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-15
        • 2012-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多