node实现表单信息
先创建一个表单标签(form.html):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="log" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="pass"> <input type="submit" value="提交"> </form> </body> </html>
利用node.js打开:
先建立http连接
对写好的表单html文件进行静态资源加载:fs.readFile('html文件',(err,data)=>{})
在填写表单后,再点击提交后,就进入新url地址中,再进行if判断地址
后获取post请求信息:
req.addListener('data',chun=>{})
req.addListener('end',chun=>{})
其中需要用到:let.obj=qs.parse(资源名);(将查询字符串转换为对象形式)
注意:使用qs时要先要获取querystring模块才能使用
后打印信息
let http=require('http');
let fs=require('fs');
let qs=require('querystring');//获取querystring模块
let server=http.createServer((req,res)=>{
let method=req.method;
let url=req.url;
if(url=='/form' && method=='GET'){
fs.readFile('./form.html',(err,data)=>{
if(err){
res.write('404');
}else{
res.write(data);
}
res.end();
})
}
if(url=='/log' && method=='POST'){
//当表单点击后根据form路径判断
fs.readFile('log.html',(err,data)=>{
if(err){
res.write('404');
}else{
res.write(data);
}
})
let data1='';
req.addListener('data',chun=>{
data1+=chun;
})
req.addListener('end',()=>{
console.log(data1);//打印的结果为查询字符串
let obj=qs.parse(data1);//转换为对象
console.log(obj.username,obj.pass);
})
res.end();
}
})
server.listen(8090);

浙公网安备 33010602011771号