2013-09-08 7 views
6

मैं एक सरल क्रोम एक्सटेंशन में पोस्ट डेटा प्राप्त करने की कोशिश कर रहा हूँ, लेकिन यह काम नहीं करता है:क्रोम एक्सटेंशन में पोस्ट डेटा कैसे प्राप्त करने के लिए

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 एपीआई - requestBody हमेशा अपरिभाषित] (http://stackoverflow.com/questions/18017947/chrome-webrequest-api-requestbody-always-undefined) –

उत्तर

9

मुझे पता है कि यह बहुत पहले पूछा गया था, लेकिन अगर किसी और को भी यही समस्या आती है, तो मुझे जवाब मिल गया।

आप श्रोता onBeforeSendHeaders उपयोग कर रहे हैं, जब केवल श्रोता कि पोस्ट डेटा को देखने का समर्थन करता है onBeforeRequest है। हालांकि, आपको के तीसरे तर्क के लिए "requestBody" का एक अतिरिक्त इन्फ्लोस्पेक भी प्रदान करने की आवश्यकता है .addListener। एक उदाहरण नीचे है।

/* 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"] 
); 
संबंधित मुद्दे