javascript - Chrome webRequest 响应正文 (POST) 错误

标签 javascript google-chrome google-chrome-extension

我正在构建一个 Chrome 扩展程序并尝试记录一些请求:带有 POST 参数(纯文本数据)的请求

这是我正在使用的代码:

var requestFilter = {urls: ["<all_urls>"]};
var extraInfoSpec = ['requestHeaders','requestBody','blocking']; // note: without 'requestBody' it works perfectly, but there's no POST data available.
var handler = function( details ) {
    console.log(details);
};
chrome.webRequest.onBeforeSendHeaders.addListener(handler, requestFilter, extraInfoSpec);

我使用 requestHeadersblocking 来处理示例中未包含的其他内容(现在不用担心它们)

我在页面加载时收到此错误:未捕获错误:参数 2 的值无效。属性“.1”:值必须是以下之一:[requestHeaders,阻塞]。

我正在 Chrome 版本 36.0.1985.125 m

下进行开发

表单 chrome webRequest 文档:自 Chrome 23 起稳定。包含 HTTP 请求正文数据。仅当 extraInfoSpec 包含“requestBody”时才提供。

有遇到此错误的经验吗?有什么已知的解决方案吗?我该如何解决这个问题?

最佳答案

您正在监听错误的事件。

如果你看documentation , onBeforeSendHeaders 未在回调详细信息中列出 requestBody

但是,它可以在 onBeforeRequest 中使用。

因此,如果您同时需要 header 和正文,则必须通过 requestId 将两个事件关联起来。

关于javascript - Chrome webRequest 响应正文 (POST) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24888965/

相关文章:

google-chrome - 安装自托管 Chrome 扩展

javascript - 强制同步 iframe 加载

javascript - 如何以 Angular 记录元素?

javascript - 在字符串变量中的字符之前插入几个字符(javascript)

javascript - 我有一些简单的 JavaScript 代码,我想将其变成弹出扩展。我该怎么做呢?

javascript - 是否可以在 chrome 调试器中操作返回值?

javascript - 在Chrome内容脚本中使用模板的建议方法是什么?

javascript - 我的 javascript 有什么问题阻止了警报和/或表单验证?

javascript - 从其他 JS 执行一个函数

javascript - plupload在IE 9中好像不能上传文件,在其他浏览器中也可以