在 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+ 次瀏覽

開啟你的職業生涯

完成此課程獲得認證

開始學習
廣告
© . All rights reserved.