我正在使用 node.js 和 mongodb。

我似乎有时会收到 200,而有时会收到 304 未修改。

router.get('/add-to-bag/:id', (req, res, next) => {
    req.session.bag.push(req.params.id);
    res.redirect('back');
    });
});

最佳答案

我不确定您使用什么堆栈来创建应用程序。看起来您正在使用 Express.js 进行路由。但是,我可以告诉您为什么会收到 304。
来自维基百科:

304 的意思是“嘿,还记得我给你发送的最后一个答案吗?它没有改变”,因此你的浏览器会重放它从缓存中收到的最后一个响应,而不会发生数据传输。
这意味着正在添加您的数据。但是由于包中的数据完全相同,因此服务器不会再次给出具有完全相同数据的 200,而是发出 304。
顺便说一句 :您的 API 不是 Restful。我建议使用 POST 创建新记录,而不是将 GET 发布到不同的 URL。我建议阅读 REST API 设计。一旦掌握了它,这将非常简单。

关于node.js - 有时 GET 返回 304 而不是 200,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44789233/

10-12 12:21