说明(2017-5-2 14:23:47):
1. index.html
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <form action="http://192.168.1.150:3000" method="GET"> 9 <input type="text" name="username"><br/> 10 <input type="text" name="password"><br/> 11 <input type="radio" name="gender" value="male">男 12 <input type="radio" name="gender" value="female">女 13 <input type="submit" name="" value="提交"> 14 </form> 15 </body> 16 </html>
2. foo.js
1 var http = require("http"); 2 var url = require("url"); 3 var querystring = require("querystring"); 4 var server = http.createServer(function(req,res){ 5 var queryObj = url.parse(req.url,true).query; 6 var username = queryObj.username; 7 var password = queryObj.password; 8 var gender = queryObj.gender; 9 // console.log(typeof(req.url)); 10 var myurl = querystring.parse(req.url); 11 console.log(myurl); 12 var urlObj = url.parse(req.url,true); 13 console.log(urlObj); 14 res.end("服务器接收到了表单请求" + username + password + gender); 15 }); 16 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属性。