該篇文章實作的是把一個頁面的表單資料送出到nodejs編寫的背景。寫的不足之處請多多諒解。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表單上傳</title>
</head>
<body>
<form action="http://127.0.0.1:9999/dopost" method="post" >
姓名:<input type="text" name="name"><br>
年齡:<input type="number" name="age"><br>
性别:<input type="radio" name="sex" value="man">男<input type="radio" name="sex" value="woman">女</br>
愛好:<input type="checkbox" name="checkbox" value="籃球">籃球<input type="checkbox" name="checkbox" value="足球">足球
<input type="checkbox" name="checkbox" value="lol">lol<br>
<input type="file" name="file"><br>
<input type="submit"></input>
</form>
</body>
</html>
node.js
var http = require('http');
var querystring = require('querystring');
var server = http.createServer(function(req,res){
if(req.url=='/dopost'&& req.method.toLowerCase() == 'post'){
var alldata ='';
req.on('data',function(chunk){
alldata+=chunk;
})
req.on('end', function () {
var datastring = alldata.toString()//得到的是一個字元串 需要解析
var obj= querystring.parse(datastring);//定義一個對象來存放解析後的值
console.log(obj.name);
console.log(obj.age);
console.log(obj.sex);
console.log(obj.checkbox[]);
console.log(obj.file);//擷取的隻是檔案名,檔案是沒有被上傳的,建議使用nodejs的formodable子產品實作檔案的上傳。
res.end('請求成功')
})
}
})
server.listen(,'127.0.0.1');//設定監聽端口和監聽位址