url模块
nodejs有个url模块,引入进来可以进行前端get方式的请求处理。
const urlLib = require('url');
var obj = urlLib.parse('http://www.baidu.com?name=ime&pass=234',true);
console.log(obj.pathname,obj.query);
结果如下:
/ { name: 'ime', pass: '234' }
[Finished in 0.3s]
以上的obj其实有如下:
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'www.baidu.com',
port: null,
hostname: 'www.baidu.com',
hash: null,
search: '?name=ime&pass=234',
query: { name: 'ime', pass: '234' },
pathname: '/',
path: '/?name=ime&pass=234',
href: 'http://www.baidu.com/?name=ime&pass=234' }
其中pathname和query常用,如果要解析出来query,需要在parse函数里面添加第二个参数:true。
简单的小案例:
前端请求页面:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="http://localhost:8888" method="get">
用户名:<input type="text" name="user" value=""><br/>
密码: <input type="password" name="pass" value=""><br/>
<input type="submit" name="提交">
</form>
</body>
</html>
后端nodejs处理:
const http=require('http');
const urlLib = require('url');
http.createServer(function(req,res){
var obj=urlLib.parse(req.url,true);
var url=obj.pathname;
var GET=obj.query;
console.log(url,GET);
res.write('aaa');
res.end();
}).listen(8888);
![](https://i-blog.csdnimg.cn/blog_migrate/56bef7729a4ba80cc8f946824fc62c5b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dac69707d6fc5caadcac74775183bcaa.png)