2015-12-22 119 views
-1

我正在使用此代碼向我自己的服務器發出HTTP請求。我在chunk中收到了相應的回覆。Node.js寫入http請求響應

http.createServer(function (req, res) { 
    var options = { 
        host: '<my ip>', 
        port: 8080, 
        method: 'GET', 
        path: '/content?data='+somedata 
       }; 
    var call = http.request(options, function(res){ 
     res.setEncoding('utf8');     
     res.on('data', function(chunk){ 
      console.log("got response"+chunk); 
     }); 
    }).on("error", function(e){ 
     console.log("Got error: " + e.message); 
    }); 
    call.end(); 
}).listen(3000); 

我的問題是如何將這個塊打印到我的瀏覽器?

+0

爲什麼downvote? –

+0

對不起,我對node.js很陌生。我不瞭解變量的範圍。 –

回答

2

將您的兩個res變量中的一個更改爲具有不同的名稱。目前,對您的請求的回覆掩蓋了您正在嘗試做出的回覆。

然後:

response.write(chunk); 

參見:https://nodejs.org/api/http.html#http_response_write_chunk_encoding_callback

+0

'VAR呼叫= http.request(選項,函數(響應){ \t response.setEncoding( 'utf-8'); \t \t \t \t \t response.on( '數據' ,功能(塊){ \t \t //做一些與塊 \t \t //console.log("got響應「+塊); \t \t // FinalData的=塊; \t \t回覆於(塊) ; \t}); \t(「錯誤」,函數(e){0} {0} {0}}}。 });' 給我response.write不是函數。 –

+0

@AakshayeMGaikar - 這是因爲你試圖寫錯誤的迴應(即你從請求中獲得的回覆,而不是你的服務器正在嘗試回覆的回覆)。你必須使用外部響應對象。 – Quentin

+0

謝謝!我對Node.js仍然很陌​​生。它現在對我有效。 –

1
res.write(chunk); 

也別忘了先結束第一個呼叫,這樣瀏覽器纔會知道請求已經結束。

res.end("success"); 
+0

謝謝!我還是很新的Node.js –