2014-07-22 63 views
0

我建立一個Chrome擴展,並試圖記錄一些要求:與POST參數的那些(純文本數據)鉻的WebRequest responseBody(POST)錯誤

這是我使用的代碼:

var requestFilter = {urls: ["<all_urls>"]}; 
var extraInfoSpec = ['requestHeaders','requestBody','blocking']; // note: without 'requestBody' it works perfectly, but there's no POST data available. 
var handler = function(details) { 
    console.log(details); 
}; 
chrome.webRequest.onBeforeSendHeaders.addListener(handler, requestFilter, extraInfoSpec); 

我用requestHeadersblocking其他的東西並不在本例中(現在不擔心他們)

我正在逐漸頁面加載此錯誤:Uncaught Error: Invalid value for argument 2. Property '.1': Value must be one of: [requestHeaders, blocking].

我develping下的Chrome版本36.0.1985.125米

形式鉻的WebRequest文檔:Stable since Chrome 23. Contains the HTTP request body data. Only provided if extraInfoSpec contains 'requestBody'.

這個錯誤的經驗嗎?任何已知的方案?我該如何解決這個問題?

+0

您發佈的代碼是否位於後臺頁面或內容頁面中? – FuzzyAmi

+0

這是在functions.js(從「腳本」參數清單調用) – Dandy

回答

1

您正在聽錯事件。

如果你看看documentation,onBeforeSendHeaders沒有在回調細節中列出requestBody

然而,它可在onBeforeRequest

因此,如果您需要標題和正文,則必須按requestId關聯這兩個事件。

+0

優秀!這確實是我的一個愚蠢的錯誤。謝謝! – Dandy