1.实例:
HTML页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="get" action="http://localhost:3000/login" name="form1">
用户名:<input type="text" id="user" name="user"><br/>
密码:<input type="password" id="pswd" name="pswd"><br/>
<input type="submit" value="登录">
</form>
</body>
</html>
服务器端代码:
server.js
const http=require("http");
http.createServer((req,res)=>{
if(req.url.indexOf('?')!==-1){
let arr=req.url.split('?');
let infoGet={};
//arr[0]-----/login
//arr[1]-----user=tom&pswd=123
let arr2=arr[1].split('&');
//arr2=>['user=tom','pswd=123'];
for(let i=0;i<arr2.length;i++){
let arr3= arr2[i].split('=');
infoGet[arr3[0]]=arr3[1];
}
res.end(JSON.stringify(infoGet));
}else{
res.end("404");
}
}).listen(3000,function(){
console.log("The server is running!")
});
执行html代码:
输入用户名和密码点击登录:
2.补充:上述代码中对于url的处理,比较繁琐,我们可以利用第三方模块
(1)querystring:
使用querystring优化的代码如下:
const http=require("http");
const querystring=require("querystring");
http.createServer((req,res)=>{
if(req.url.indexOf('?')!==-1){
let arr=req.url.split('?');
let result=querystring.parse(arr[1]);
console.log(result);
res.end('ok');
}else{
res.end("404");
}
}).listen(3000,function(){
console.log("The server is running!")
});
(2)url(推荐使用)
使用URL的代码优化如下:
const http=require("http");
const urlBoss=require("url");
http.createServer((req,res)=>{
let result=urlBoss.parse(req.url,true);
//url模块的第二个参数设置为true表示对各个字段进行切片
console.log(result);
res.setHeader('Content-Type','text/plain;charset=utf-8');
res.end(result.query.user+'密码:'+result.query.pswd);
}).listen(3000,function(){
console.log("The server is running!")
});