簡體   English   中英

在Express中間件中丟失Ajax數據

[英]Losing ajax data in Express middleware

我有一個Node / Express應用程序,該應用程序具有一個已授權的用戶登錄。然后,我讓該用戶進行ajax調用,並向受保護的路由發送數據。 我有中間件,可以確保在繼續路由之前對用戶進行身份驗證。 在ajax調用和命中路由之間,數據將丟失。 有沒有辦法防止數據丟失在該中間件中?

前端.js文件

$.ajax({
  url: "/voted",
  method: "POST",
  data: { item1: "some data", item2: "other data" },
  success: () => { console.log("success") },
  failure: () => { console.log("failure") }
});

路由中間件

// data being lost here
const protectedMiddleware = (req, res, next) => {

  if (req.isAuthenticated()) {
    next();
  }
  else {
    res.redirect("/login");
  }
}

我的routes.js文件中的路由

app.post("/voted", protectedMiddleware, (req, res) => {

  let item1 = req.query.item1;
  let item2 = req.query.item2;
  console.log(item1); // undefined
  console.log(item2); // undefined

});

對於item1和item2,我不確定,而它們應該是“一些數據”和“其他數據”。

根據網址中的查詢參數設置req.query 因此,如果請求網址看起來像/voted?item1=somedata ,則req.query.item1將可訪問。

您正在尋找的是req.body ,因為您正在將數據傳遞到請求的body中。

您可以訪問item1item2req.body.item1req.body.item2

暫無
暫無

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

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