Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome.webRequest API-requestBody始终未定义_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript Chrome.webRequest API-requestBody始终未定义

Javascript Chrome.webRequest API-requestBody始终未定义,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我试图在我的Chrome扩展中使用WebRequestAPI。使用以下代码块: $(document).ready(function(){ chrome.webRequest.onBeforeRequest.addListener( function(details) { console.log(details.requestBody); }, {urls: ["https://myurlhere.com/*"]} );}); 控制台向我显示r

我试图在我的Chrome扩展中使用WebRequestAPI。使用以下代码块:

$(document).ready(function(){

chrome.webRequest.onBeforeRequest.addListener(
    function(details)
    {
        console.log(details.requestBody);
    },
    {urls: ["https://myurlhere.com/*"]}
);});
控制台向我显示requestBody是未定义的。如果我自己记录详细信息,我可以检查details对象,但似乎在任何地方都找不到requestBody对象


我的语法错了吗?我做了一些搜索,找到了几个其他的例子,它似乎应该是工作的方式,我有它。非常感谢您的帮助。

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

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

requestBody(可选对象)

请注意,添加到
addListener()
将起作用,前提是请求实际上有一个请求正文


大多数HTTP请求没有任何请求正文。换句话说,如果请求没有请求正文,则为
e.requestBody
获取
未定义的
正常的

您提出了什么请求?例如,如果它是一个GET请求,那么请求有一个空的正文就很有意义。“requestBody:包含HTTP请求正文数据。仅当
extraInfoSpec
包含“requestBody”时才提供。”添加一个元素数组
['requestBody']
作为第三个参数。去掉jQuery。在绑定webRequest事件之前,完全不需要等待domready事件。感谢您的回答。这很有效。我想是我把一些简单的事情搞糟了。我得到了这个错误:''Uncaught error:参数2的值无效。属性“.0”:值必须是:[requestHeaders,blocking]')之一才能在其中使用requestBody。我有chrome 36+@Dandy它只在onBeforeRequest事件中可用。
Contains the HTTP request body data.
*Only provided if extraInfoSpec contains 'requestBody'.*