Chrome webRequest responseBody(POST)错误

时间:2014-07-22 13:38:57

标签: 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用于示例中不包含的其他内容(现在不用担心)

我在页面加载时收到此错误:Uncaught Error: Invalid value for argument 2. Property '.1': Value must be one of: [requestHeaders, blocking].

我正在开发Chrome 版本36.0.1985.125 m

表单chrome webRequest文档:Stable since Chrome 23. Contains the HTTP request body data. Only provided if extraInfoSpec contains 'requestBody'.

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

1 个答案:

答案 0 :(得分:1)

你正在听错事件。

如果您查看documentationonBeforeSendHeaders未在回调详细信息中列出requestBody

但是,它可以在onBeforeRequest中找到。

因此,如果您需要标题和正文,则必须按requestId关联这两个事件。