[英]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
中。
您可以訪問item1
和item2
為req.body.item1
和req.body.item2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.