【问题标题】:XMLHttpRequest responseText is always empty in Firefox WebExtensionXMLHttpRequest responseText 在 Firefox WebExtension 中始终为空
【发布时间】:2016-10-17 12:20:17
【问题描述】:

我在编写 Firefox WebExtension 插件时遇到问题。以下代码不返回任何数据(responseText 为空),即使请求状态等于 4。在 Chrome 中,一切都运行良好。

我什至在 Fiddler 上进行了检查,我可以看到请求已处理(并且我们得到了响应)但看起来 Firefox 无法读取它?

var xhr = new XMLHttpRequest();
xhr.open('GET', "http://pi.com//", true);   
xhr.withCredentials = true;
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.send(null);
xhr.onreadystatechange = processRequest;

function processRequest(e) {
    if (xhr.readyState == 4) {
        console.log(xhr.responseText);
    }
};

我真的不知道为什么 Firefox 没有填充 responseText。我已经在不同的网站上查过了,但到处都是一样的。

【问题讨论】:

  • 这是您实际请求的页面吗? How is your extension set up?
  • 你的扩展有什么权限?
  • edit 成为主题的问题:包括一个完整 minimal reproducible example 重复该问题。通常,包括一个manifest.json、一些后台内容脚本。寻求调试帮助的问题(“为什么这段代码不工作?”)必须包括:►期望的行为,►特定问题或错误►必要的最短代码重现它在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:“如何创建 minimal reproducible example”、What topics can I ask about here?How to Ask
  • Browser Console(Ctrl-Shift-J,或 OSX 上的 Cmd-Shift-J)中确切地显示了什么?网络监视器是否显示请求/响应?
  • 之所以需要minimal reproducible example,是因为我们想提供帮助。如果我们不必重新创建复制问题所需的所有代码,那么提供帮助会要容易得多。这是您已经拥有的代码。因此,请帮助我们为您提供帮助并提供一个完整 minimal reproducible example 以重复此类问题的问题。如果没有minimal reproducible example,甚至开始帮助您所需的努力量很多更高,这显着减少了愿意/能够帮助您的人数。即使我们付出了额外的努力,我们也必须猜测您可能遇到的问题的很大一部分。

标签: javascript google-chrome-extension firefox-addon firefox-addon-webextensions


【解决方案1】:

在您的 manifest.json 中尝试添加密钥 "permissions": ["http://pi.com/"]

【讨论】:

    【解决方案2】:

    当我将扩展程序从 Chrome 移植到 Firefox 时,我正在处理完全相同的问题,这让我发疯了!

    在我的例子中,它就像邮件格式的 URL 一样简单。 我必须声明 http://www.example.com/

    而不是 http://example.com/

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多