在 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

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP