express的GET请求和POST请求

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

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

1、get请求
/**
 * Created by 黄森 on 2017/6/14.
 */
var express = require('express');

var app = express();
//get请求
app.get('/student',function (req,res) {
    console.log(req.query);
    res.send();
});
app.listen(3000);

当你在浏览器中输入访问的地址切带上参数后,都会通过req.query打印出来,是一个对象.

浏览器输入
控制台打印
2、post请求

post请求要借助body-parser模块。使用后,将可以用req.body得到参数,使用模板引擎,表单提交。
首先先建一个form.ejs,模板引擎必须创建在views文件夹下.

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form action="#" method="post">
        <input type="text" name="name"/>
        <input type="text" name="age"/>
        <input type="submit"/>
    </form>
</body>
</html>

接下来就使用POST方式请求参数

引入 express,body-parser,在这里必须要有ejs这个模块


var express = require("express");
var bodyParser = require('body-parser');
var app = express();

引入模板引擎,ejs模板引擎使用app.set("view engine","ejs"),而jade模板引擎使用app.engine('jade', require('jade').__express)这种方式;

//模板引擎
app.set("view engine","ejs");

app.get("/",function(req,res){
     res.render("form");
});
//bodyParser API
app.use(bodyParser.urlencoded({ extended: false }));

app.post("/",function(req,res){
    console.log(req.body);
});
app.listen(3000);

在这里使用req.body将表单的参数打印出来。

表单输入
控制台打印
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容