0
我試圖通過nodejs讀取POST數據。我有下面的代碼片段:簡單節點讀取POST
var http = require("http");
console.log("Server created at 127.0.0.1:8989");
var server = http.createServer(handler).listen(8989);
function handler(req,res)
{
console.log("Client Connected");
// res.writeHead(200,{"Content-type": "text/html"});
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('<html><body><form method="POST"><input type="text" name="name"><input type="submit" value="send"></form></body></html>');
if(req.method==="POST")
{
var body="";
console.log("Post is being sent");
req.on('data',function handlePost(chunck){
body+= chunck;
});
req.on("end",function(){
console.log(body + "<--");
})
}
}\\
但是程序的行爲如同「數據」事件從未發生過? 身體變量永遠不會被記錄
感謝
它確實工作,但我不知道爲什麼。爲什麼我的代碼無法正常工作?如果帖子沒有發送,nodejs不應該提供html嗎?我的if語句不夠嗎? – Bula
當您調用res.end時,它會關閉所有關聯的套接字,包括請求的套接字。這意味着身體不再被髮送。 GET(發送表單)和POST以及兩個完全不同的情況需要獨立處理。 –
因此,解決這個問題的方法是在if語句中處理帖子,並獲取其他內容? – Bula