node.js——express的内容渲染、get和post请求

res.render():

● 大多数情况下,渲染内容用res.render(),将会根据views中的模板文件进行渲染。如果不想使用views文件夹,那么可以使用app.set("views","myFile")进行设置成自己想要的文件夹。

● 如果想写一个快速测试页,当然可以使用res.send()。send只能用一次,自动设置MIME类型。这个函数将根据内容,自动帮我们设置了Content-Type头部和200状态码。

● 如果想使用不同的状态码,可以:

  res.status(404).send('Sorry, we cannot find that!');

● 如果想使用不同的Content-Type,可以:

  res.set('Content-Type', 'text/html');

● GET请求的参数在URL中,在原生Node中,需要使用url模块来识别参数字符串。在Express中,不需要使用url模块了。可以直接使用req.query对象。

● POST请求在express中不能直接获得,必须使用body-parser模块。使用后,将可以用req.body得到参数。但是如果表单中含有文件上传,那么还是需要使用formidable模块。

使用GET传输数据

新建一个js文件并输入以下代码:

var express = require("express");

var app = express();

app.get("/",function(req,res){
    console.log(req.query);
    res.send();
});
app.listen(3403);

在地址栏中输入http://localhost:3403/?id=0&&sex=man&sex=ll,控制台中得到:

{ id: '0', sex: [ 'man', 'll' ] }

req.query将参数解析返回了一个参数的对象。

使用POST传输数据:

使用POST进行传输必须借助body-parser模块,加入语句app.use(bodyParser.urlencoded({extended:false}))向express暴露一个中间件,才能得到req.body

利用ejs中的表单发出post请求。

var express = require("express");
var bodyParser = require('body-parser');
var app = express();
app.set("view engine","ejs");
app.get("/",function(req,res){
    res.render("form");
});
//使用一个中间件来解析
app.use(bodyParser.urlencoded({extended:false}));
app.post("/",function(req,res){
    console.log(req.body);
})
app.listen(3403);

最后在表单输入后可以得到与get同样的结果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值