Javascript 如何从firefox插件中的表单帖子访问原始数据响应?

Javascript 如何从firefox插件中的表单帖子访问原始数据响应?,javascript,google-chrome-extension,firefox-addon,http-post,form-submit,Javascript,Google Chrome Extension,Firefox Addon,Http Post,Form Submit,我正在尝试构建一个firefox插件,用户在其中填写表单并将其提交到服务器。我想知道如何从服务器返回响应。在本例中,响应为[“SUCCESS”,“createAccount”] 我在单击“原始数据”选项卡中的“提交”后出现的这个小弹出窗口中看到了数据。(见图)。 我只是不知道如何从我的代码中访问它。这似乎应该很简单,但我无法理解 我尝试过重写onsubmit和onclick方法/侦听器,以通过ajax/XMLHttpRequest路由它们,但我遇到了一个内容安全错误(内容安全策略:页面的设置阻

我正在尝试构建一个firefox插件,用户在其中填写表单并将其提交到服务器。我想知道如何从服务器返回响应。在本例中,响应为[“SUCCESS”,“createAccount”]

我在单击“原始数据”选项卡中的“提交”后出现的这个小弹出窗口中看到了数据。(见图)。

我只是不知道如何从我的代码中访问它。这似乎应该很简单,但我无法理解

我尝试过重写onsubmit和onclick方法/侦听器,以通过ajax/XMLHttpRequest路由它们,但我遇到了一个内容安全错误(内容安全策略:页面的设置阻止了在self(“script src”)加载资源。来源:BUTTON元素上的onclick属性。)

我看过其他SO帖子,没有一篇是专门针对插件中表单的响应的

感谢您的帮助。

答案是使用

代码是这样的:

    var rawdata;
    var listener = function(result){
      let filter = chrome.webRequest.filterResponseData(result.requestId);  //https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/filterResponseData
      filter.ondata = event => {
      self.data = {
          data: Array.apply(null, new Uint8Array(event.data)),

          contentType: result.type
      };
      rawdata = arrayBufferToData.toJSON(event.data);  

      }
       filter.onstop = event => {
       filter.disconnect();
      }

    }
  browser.webRequest.onHeadersReceived.addListener(listener, {urls: ["<all_urls>"]},["blocking"]);
var-rawdata;
var listener=函数(结果){
让filter=chrome.webRequest.filterResponseData(result.requestId)//https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/filterResponseData
filter.ondata=事件=>{
self.data={
数据:Array.apply(null,新的Uint8Array(event.data)),
contentType:result.type
};
rawdata=arrayBufferToData.toJSON(event.data);
}
filter.onstop=事件=>{
filter.disconnect();
}
}
browser.webRequest.onHeadersReceived.addListener(侦听器,{URL:[”


不幸的是,这只适用于firefox,而不适用于chrome。

我不太熟悉插件开发,但您看到的是所谓的“响应头”“。为了解决这些问题,你可能在寻找更具体的方法。我知道这不是你要寻找的答案,但也许这会为你指明正确的方向。@icecub确实有帮助。不幸的是,它让我找到了只适用于firefox的方法,我也需要它来适用于chrome。