2013-09-08 19 views
6

私はシンプルな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

+1

可能重複[Chrome.webRequest API - requestBody常に未定義](http://stackoverflow.com/questions/18017947/chrome-webrequest-api-requestbody-always-undefined) –

答えて

9

私はこれがずっと前に尋ねられたことを知っていますが、他の誰かがこの同じ問題を抱えている場合、私は答えを見つけました。

あなたはPOSTデータの表示のみをサポートし、リスナーがonBeforeRequestときに、リスナーにonBeforeSendHeadersを使用しています。ただし、.addListenerの3番目の引数には、 "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"] 
); 
関連する問題