Chrome.webRequest API - requestBody始终未定义

spe*_*z83 5 javascript google-chrome google-chrome-extension

我正在尝试在Chrome扩展程序中使用webrequest api.使用以下代码块:

$(document).ready(function(){

chrome.webRequest.onBeforeRequest.addListener(
    function(details)
    {
        console.log(details.requestBody);
    },
    {urls: ["https://myurlhere.com/*"]}
);});
Run Code Online (Sandbox Code Playgroud)

控制台告诉我requestBody未定义.如果我自己记录细节,我可以检查详细信息对象,但我似乎无法在任何地方找到requestBody对象.

我的语法错了吗?我做了一些搜索,发现了其他一些例子,看起来应该按照我的方式工作.任何帮助表示赞赏.

方 觉*_*方 觉 9

您必须将['requestBody']指定为addListener的第三个参数.例如:

chrome.webRequest.onBeforeRequest.addListener(
    function(details)
    {
        console.log(details.requestBody);
    },
    {urls: ["https://myurlhere.com/*"]},
    ['requestBody']
);
Run Code Online (Sandbox Code Playgroud)

文件说:

requestBody(可选对象)

Contains the HTTP request body data.
*Only provided if extraInfoSpec contains 'requestBody'.*
Run Code Online (Sandbox Code Playgroud)