9

我试图在一个简单的 chrome 扩展中获取发布数据,但它不起作用:

chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
if (details.method == "POST") {
            var postData=details.requestBody.raw; 
            console.log(postData);
        }
return {requestHeaders: details.requestHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]);

我正在使用这个站点来测试扩展:

https://mobile.onlinesbi.com/sbidownloader/DownloadApplication.action

4

1 回答 1

16

我知道这是很久以前问过的,但如果其他人遇到同样的问题,我找到了答案。

当支持查看 POST 数据的唯一侦听器是onBeforeRequest时,您正在使用侦听器onBeforeSendHeaders。但是,您还需要为 .addListener 的第三个参数提供“requestBody”的extraInfoSpec。下面是一个例子。

/* The Web Request API */
const WEB_REQUEST = chrome.webRequest;

WEB_REQUEST.onBeforeRequest.addListener(
    function(details) {
        if(details.method == "POST")
            console.log(JSON.stringify(details));
    },
    {urls: ["<all_urls>"]},
    ["blocking", "requestBody"]
);
于 2015-02-25T23:30:47.247 回答