gpt4 book ai didi

javascript - 无法读取未定义的属性 "cart",这是一个 session 属性

转载 作者:行者123 更新时间:2023-12-03 02:10:18 25 4
gpt4 key购买 nike

var express = require('express');
var router = express.Router();
var Cart = require('../models/cart')

router.get('/', function(req, res, next) {
var cart = new Cart(req.session.cart)
});

当我使用“get”方法执行上述node.js程序时,触发以下错误。

Cannot read property 'cart' of undefined

TypeError: Cannot read property 'cart' of undefined

我想模拟购物车,并在用户尝试将商品添加到购物车时使用 session 属性来存储记录。

该程序用于读取 session 属性“cart”(无论是否创建),以返回事件 session 的购物车记录。

但是,如果我之前没有初始化它,程序似乎无法识别这个“购物车” session 属性。

如何解决此问题以使程序不会返回错误?

最佳答案

您正在尝试访问 req 上不存在的 session 属性,因为您没有使用任何 session 中间件。

即使您创建这样的属性,它也不会在 HTTP 请求中持久存在,您需要使用 session 管理器来处理该持久性。

您可以使用基本的 express-session

// require it
var session = require('express-session')

// configure it
app.use(session({
secret: '123456',
resave: false,
saveUninitialized: true,
cookie: {
secure: true
}
}))

然后您的所有请求都将具有 session 属性。

关于javascript - 无法读取未定义的属性 "cart",这是一个 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49609912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com