该篇文章实现的是把一个页面的表单数据提交到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[0]);
console.log(obj.file);//获取的只是文件名,文件是没有被上传的,建议使用nodejs的formodable模块实现文件的上传。
res.end('请求成功')
})
}
})
server.listen(9999,'127.0.0.1');//设置监听端口和监听地址