node写完服务器端,表单传输的数据在服务器端如何打印出来:用一个简单的html文件包含一个表加上一个Node.js express 模块完成这个数据的获取
1、get方法:首先get方法速度快,保密性差,使用req.query可获得get请求的数据,返回的是对象
一个login.html 表单用来传输数据,文件放到public文件下,以便调用:
<form method="get" action="/mylogin">
用户名:<input type='text' name='uname'><br>
用户ID:<input type='text' name='upassword'><br>
<input type='submit'>
</form>
一个服务器端,方法为get,使用req.query来获取传递的信息然后打印出来:
const express=require('express');
var server=express();
server.listen(8080);
server.use(express.static('public'));
server.get('/mylogin',(req,res)=>{
var obj=req.query;
console.log(obj);
res.send('OK');
});
运行:
然后在用户名和用户ID栏输入内容,浏览器界面内容为OK,服务器端命令行下会打印出传输输入的信息:
2、post方法,使用post方法传输,然后获取传输到信息:
需要引入body-parser中间件:中间会使用urlencode({extended:false})这个方法将传输的信息解析为对象
然后使用req.body可以获取传输的信息,具体代码如下:
//引入body-parser中间件
const bodyParser=require('body-parser');
const express=require('express');
var server=express();
server.listen(8080);
server.use(express.static('public'));
//根据表单提交,写对应的路由
//中间件将post请求的数据直接解析为对象
server.use(bodyParser.urlencoded({
extended:false
//不使用第三方的qs模块,会使用querystring模块将查询字符串解析为对象
}));
server.post('/mylogin',(req,res)=>{
//获取post请求的数据
console.log(req.body);
res.send('OK');
});
结果:
3、最后还有一种params的方式
方法是req.params可以用来获取传输的数据,这里面URL的写法为’/detail/:lid’
代码如下:
const express=require('express');
var server=express();
server.listen(8080);
//准备路由,商品详情的路由
//get /detail
//:lid设置接收数据的名称为lid
server.get('/detail/:lid',(req,res)=>{
//获取路由传递的数据
console.log(req.params);
res.send('OK');
});
结果图: