Javascript 如何从firefox插件中的表单帖子访问原始数据响应?
我正在尝试构建一个firefox插件,用户在其中填写表单并将其提交到服务器。我想知道如何从服务器返回响应。在本例中,响应为[“SUCCESS”,“createAccount”] 我在单击“原始数据”选项卡中的“提交”后出现的这个小弹出窗口中看到了数据。(见图)。 我只是不知道如何从我的代码中访问它。这似乎应该很简单,但我无法理解 我尝试过重写onsubmit和onclick方法/侦听器,以通过ajax/XMLHttpRequest路由它们,但我遇到了一个内容安全错误(内容安全策略:页面的设置阻止了在self(“script src”)加载资源。来源:BUTTON元素上的onclick属性。) 我看过其他SO帖子,没有一篇是专门针对插件中表单的响应的 感谢您的帮助。答案是使用 代码是这样的: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路由它们,但我遇到了一个内容安全错误(内容安全策略:页面的设置阻
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。