【问题标题】:Index page is not rendered with newly saved data索引页面未使用新保存的数据呈现
【发布时间】:2019-03-20 10:56:15
【问题描述】:

我正在使用以下技术和框架版本:

  • Couchbase:企业版 6.0.1 build 2037 ‧ IPv4
  • 节点:v10.15.3
  • 快递:v4.16.4

我是这个技术和框架的初学者。

我正在使用 Node + Express 制作一个简单的应用程序,并且我正在使用 Couchbase 来保存数据。 该应用程序是关于课程和学生的,以及哪个学生上哪些课程以及哪个课程有哪些学生。 一切正常,我可以保存,删除,寻找细节,只是我有一个小问题:

我保存新数据(不管是在课程路线上还是在学生路线上),然后我的应用程序重定向到索引页面,并且它假设显示所有课程或学生。它显示以前保存的学生或课程,但不包含新保存的学生或课程。当我刷新页面 (F5) 时,它会显示新保存的学生或课程。 它必须在不刷新索引页面的情况下显示新保存的学生或课程。

这是我的代码

我如何保存到数据库并重定向到 /courses 路由:

//save new course in the db than redirect to index page
app.post("/courses", function(request, response) {
    var course = new CourseModel({
        "name": request.body.name
    });
    course.save(function(error, result) {
        if(error) {
            return response.status(401).send({ "success": false, "message": error});
        }
        response.redirect("/courses");
    });
});

这就是 /courses 路由的样子:

//get all courses and render index page
app.get("/courses", function(request, response) {
    CourseModel.find({}, {load: ["students"]}, function(error, result) {
        if(error) {
            return response.status(401).send({ "success": false, "message": error});
        }
        response.render("courses/index", {results: result});
    });
});

所以当我点击 SAVE 按钮时,它应该保存到数据库而不是重定向到 /courses 页面,它应该呈现包含新保存的课程或学生的索引页面,但它没有。但是刷新页面后,新保存的课程或学生就在那里。

那么为什么新保存的数据没有立即出现在索引页面上?我应该改变什么?

我的 Couchbase 服务器正在我的计算机上使用此集群和存储桶设置本地运行:

类型:沙发底座 存储桶内存配额:512MB 集群内存配额:4.1GB 复制品:1 服务器节点:1 弹出方法:仅值 冲突解决:序列号 压缩:未激活

【问题讨论】:

    标签: node.js express couchbase


    【解决方案1】:

    尝试在 HTTP 响应中使用 205 状态码,这意味着重置内容,但如果您使用的是 google chrome 浏览器,这将很有帮助

    因为浏览器的其余部分处理 205 代码,如 200 都成功但没有重置内容

    您可以通过link获得更多关于 205 的信息

    【讨论】:

    • 如果我像这样修改 app.get 中的响应:response.status(205).render...(我正在使用 Chrome)屏幕不会改变,但是在 Inspect/Network I可以看到 post 请求已发送,而不是重定向到 /courses,但屏幕上没有任何反应。
    猜你喜欢
    • 2021-11-29
    • 2022-12-20
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2018-07-24
    • 2019-09-12
    • 2017-03-12
    • 2016-08-01
    相关资源
    最近更新 更多