2014-03-27 25 views
0

基本上我收到值從與功能活動的一種形式:從的NodeJS一種形式,編輯接收數據併發送再次

var formData=""; 
req.on('data', function (chunk){ 
    formData += chunk; 
}); 

而且我又在另一http.request發送這些值:

req.on('end', function(){   
    var options = { port: conf.port, path: req.path, 
        host: conf.host, method: req.method , headers: req.headers}; 
    authReq = http.request(options, 
      function (response){...}); 

    authReq.write(formData); 
    authReq.end(); 
}); 

我要的是更多的數據添加到形式,從先前的形式獲得,例如像這樣的事情:

var formData="client_id=XXX&client_secret=XXX&"; 
req.on('data', function (chunk){ 
    formData += chunk; 
}); 

但是這是行不通的,做了authReq.write(formData)之後;看起來像數據發送是空的或錯誤的....任何建議?

+0

如果你)縮進的代碼正確,您會得到更好的反饋,沒有人願意水平滾動;和b)你減少你的問題到一個最小的版本,這樣我們就不必經歷無關和特定於應用程序的代碼 – slezica

+0

問題是我無法將另一個字符串連接到來自表單數據的fromData字符串。 .. – Pistolo

回答

0

在第二個請求中,填充第一個請求的變量formData將爲空。 您可能需要使用會話。 (http://expressjs-book.com/forums/topic/express-js-sessions-a-detailed-tutorial/

此外,從你的代碼片段的外觀上來看,我建議你看看http://passportjs.org/認證:)

+0

我正在使用OAuth2,我需要的是將我的client_secret和client_id添加到服務器端的請求中,然後將請求從nodejs發送到oauth服務器 – Pistolo

+0

問題是請求中的標題,而不是使用默認情況下出現的頭文件會用一個簡單的值重新寫入。 var options = {port:conf.port,path:req.path,host:conf.host,method:req.method,headers:{'Content-Type':'application/x-www-form-urlencoded' }}; :) – Pistolo

相關問題