簡體   English   中英

節點 - 如何訪問POST路由中間件中的Req

[英]Node - How To Access Req in POST Route Middleware

我是Node和Express的新手,我不知道如何在POST路由中訪問中間件函數中的req 我需要將其作為參數傳遞嗎? 在這條路線中還有其他中間件功能可以訪問req但是它沒有被傳入。總的來說,我猜我對req如何工作感到困惑......

我所指的函數是helpers.createPermissions()

我的路線

app.post('/oauth/authorize/decision', login.ensureLoggedIn('connect/signin'), helpers.createPermissions(req), oauth2.server.decision());

功能

exports.createPermissions = function(req) {
  console.log(req);
};

錯誤

ReferenceError: req is not defined

中間件總是會傳遞三個參數: reqresnext

所以你的中間件應該是這樣的:

exports.createPermissions = function(req, res, next) {
  console.log(req);
  // TODO: make sure you eventually call either `next` or send back a response...
};

你可以像這樣使用它:

app.post('/oauth/authorize/decision', login.ensureLoggedIn('connect/signin'), helpers.createPermissions, oauth2.server.decision());

在你看到中間件被稱為函數的情況下,這是因為你不是在調用中間件本身,而是一個返回中間件函數的函數。 例如:

var myMiddlewareWrapper = function() {
  // return the actual middleware handler:
  return function(req, res, next) {
    ...
  };
};

app.get('/', myMiddlewareWrapper(), ...);

通常這樣做是為了向中間件處理程序傳遞額外的選項(比如login.ensureLoggedIn() )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM