req里面的模块中,最关键的是就是req.url属性,表示用户请求的URL地址,所有的路由设计,都是通过req.url来实现的。但是用户提交的url中,包含的#是识别不出来的,其它的都能识别出来。
拿到url之后我们要识别URL,其中第一个就是url模块,第二个就是querystring模块。
关于queryString这个方法
接收一个字符串,返回一个对象
querystring.stringify([obj[,sep][,eq][,options])
官方文档:http://nodejs.cn/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options
直接上一段代码
var http = require("http");
var url = require("url");
var server = http.createServer(function(req,res){
//url.parse()可以将一个完整的URL地址,分为很多部分;
//host、port、pathname、path、query
//获取路径
var path = url.parse(req.url).pathname;
//获取参数,里面的第二个参数true表示把所有的查询变为对象
var query = url.parse(req.url,true).query;
//可以直接.参数 得到我们需要的参数
var age = query.age;
console.log(path);
console.log(query);
console.log("刚刚获取到的age值为"+ age);
res.end();
});
server.listen(3000,"127.0.0.1");
代码里面讲的很详细,而且可以直接node + 文件名 运行