说明(2017-5-2 14:23:47):
1. index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="http://192.168.1.150:3000" method="GET">
<input type="text" name="username"><br/>
<input type="text" name="password"><br/>
<input type="radio" name="gender" value="male">男
<input type="radio" name="gender" value="female">女
<input type="submit" name="" value="提交">
</form>
</body>
</html>
2. foo.js
var http = require("http");
var url = require("url");
var querystring = require("querystring");
var server = http.createServer(function(req,res){
var queryObj = url.parse(req.url,true).query;
var username = queryObj.username;
var password = queryObj.password;
var gender = queryObj.gender;
// console.log(typeof(req.url));
var myurl = querystring.parse(req.url);
console.log(myurl);
var urlObj = url.parse(req.url,true);
console.log(urlObj);
res.end("服务器接收到了表单请求" + username + password + gender);
});
server.listen(3000,"192.168.1.150");
3. 输出:
注意:
1. 要用querystring要先require一下,querystring.parse(req.url)返回的是一个json格式的对象,里面含有get请求的信息。
2. 直接用url.parse多好,url.parse(req.url,true),返回一个Url对象(加不加true怎么一样啊?文档里说不加true默认是false,返回字符串啊?),想要哪个直接点出来就行,不过看着感觉大多数都没什么卵用,比较重要的是query,里面含有get请求的name属性。