javascript - req.session.cart [object object] [object object] 如何在我的 sapper/svelte 应用程序中迭代和查看它

标签 javascript arrays session cart svelte

夜猫子: 所以我正在练习我的 sapper/svelte 应用程序。创建了一个包含少量商品的购物页面,我可以在其中订购这些商品并将它们添加到我的购物车。

一切正常(我在 session 中将商品添加到购物车),但我添加的商品作为 [object object] [object object] 存储在 session (数据库 session )中,我不知道如何查看它尽管我知道这个物体是如何设计的。我阅读了所有关于如何迭代对象的内容以及所有这些内容,但是,我无法在我的应用程序中显示 req.session.cart 对象。我不知道我这样做是对还是错。请指教。

我的购物项目的精简页面是基本的,无需在此处添加。 这是我的服务器路由,我在其中捕获订购的商品并处理这些条目。

我在其中获取数据的 SC3.JS 文件:

    var fetch = require('node-fetch');

export async function post(req, res, next) {

    res.setHeader('Content-Type', 'application/json');
    /* Retrieve the data */
    var data = req.body;

    //cart constructor
    function Cart() {        

        this.add = function (item) {            
            this.item = item;
            let title = this.item.title;
            let price = this.item.price;


            let storeditem = { title: title, price: price };
            req.session.cart += { item: storeditem };
            console.log("session log: ", req.session.cart);     

        }; 
    }

    var cart = new Cart();
    cart.add(data);


    /* Returns the result */
    return res.end(JSON.stringify({ info: data }));

}

我的 mongodb 显示以下内容 enter image description here

我通过执行 req.session.cart += storeitem 来添加项目是否错误??? 如果这是存储项目的正确方法,我如何使用嵌套在 session 购物车对象内的 [object object] 检索它们?

我尝试了 es6 新对象方法中的 obj.keys、obj.values 等,但它显示的只是一些键,而不是我添加到购物车的实际商品(标题和价格)。

这是一个 sapper/svelte 应用程序,纯 html、css 和 js 任何帮助将不胜感激。

最佳答案

您添加的项目是错误的,您不能 += 对象。 (这会将其转换为字符串)

在这里我们可以重现您的错误:

let cart = {};
let storeditem = { title: 'my title', price: 1.23 };

cart += { item: storeditem };

console.log("session log: ", cart); 

我们可以通过以下方法解决这个问题:

let cart = {};
let storeditem = { title: 'my title', price: 1.23 };
let id = 'you need an id'; // Maybe you can use item.id ???
cart[id] = { item: storeditem };

console.log("session log: ", cart);

关于javascript - req.session.cart [object object] [object object] 如何在我的 sapper/svelte 应用程序中迭代和查看它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60533221/

相关文章:

javascript - XMLHttpRequest 的替代品?

zend-framework - 关于在包含 Zend_Session 类的 WAMP 上运行项目的错误

java - Android 中用于 Web 服务的 ID session 管理

javascript - 适用于大型数据集的最佳力导向网络图引擎是什么?

javascript - 在运行时获取 jasmine 配置

java - Array.equals(...) 给出了不正确的结果

ios - Group Array 在 Swift 中向 UITableView 引入部分

arrays - 在 Swift 中展平多个数组的所有值

php - 散列 session 指纹真的有必要吗?

javascript - 我如何判断 Realm 是否已成功更新?