在 Express 中的中间件中使用 Post 请求


我们使用 use() 函数来执行中间件。我们下面使用的示例将针对 http GET 和 POST 方法执行

const http = require('http');
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use('/', (req, res,next)=>{
   next();
});
app.use('/add-username', (req, res,next)=>{
   res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button    type="submit"> Send </button> </form>');
});
app.use('/post-username', (req, res, next)=>{
   console.log('data: ', req.body.username);
   res.redirect('/');
});
app.use('/', (req, res,next)=>{
   res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);

如何仅限于 GET 或仅限于 POST http 方法等来限制中间件。

我们有类似于 use() 函数的 get() 和 post() 等函数,它们是 http 方法。

app.post('/post-username', (req, res, next)=>{
   console.log('data: ', req.body.username); res.redirect('/');
});

在上述代码片段中,我们使用了 post() 函数。它会将 http 请求限制为针对 url path‘/post-username’的唯一 post 类型

get() 函数

app.get('/add-username', (req, res,next)=>{
   res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button    type="submit"> Send</button> </form>');
});

类似于 get() 和 post(),我们有针对不同 http 请求的 delete()、patch 和 put() 函数。

使用 get() 和 post() 的 App.js 完成

const http = require('http');
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use('/', (req, res,next)=>{
   next();
});
app.get('/add-username', (req, res,next)=>{
   res.send('<form action="/post-username" method="POST"> <input type="text" name="username"> <button    type="submit"> Send </button> </form>');
});
app.post('/post-username', (req, res, next)=>{
   console.log('data: ', req.body.username);
   res.redirect('/'); });
   app.use('/', (req, res,next)=>{
   res.send('<h1> first midleware: Hello Tutorials Point </h1>');
});
const server = http.createServer(app);
server.listen(3000);

执行:npm start

浏览器的输出 −

localhost:300/add-username

localhost:3000/post-username

更新时间:13-May-2020

1K+ 次浏览

开启你的职业生涯

完成此课程获得认证

开始学习
广告