繁体   English   中英

Chrome.webRequest API - requestBody始终未定义

[英]Chrome.webRequest API - requestBody always undefined

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

$(document).ready(function(){

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

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

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

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

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

文件说:

requestBody(可选对象)

 Contains the HTTP request body data. *Only provided if extraInfoSpec contains 'requestBody'.* 

请注意, 只要请求实际上有请求正文,将requestBody添加到addListener()就可以了。

大多数HTTP请求没有任何请求正文。 换句话说,如果请求没有请求主体, e.requestBody获取undefined正常的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM