索引页面不会使用新保存的数据呈现

问题描述 投票:0回答:1

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

  • Couchbase:Enterprise Edition 6.0.1 build2037‧IPv4
  • 所以:v10.15.3
  • Express:inc.166h

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

我正在用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服务器在我的计算机上使用此群集和存储区设置在本地运行:

类型:Couchbase Bucket RAM配额:512MB Cluster RAM配额:4.1GB复制品:1个服务器节点:1个Ejection方法:仅限价值冲突解决方案:序列号压缩:未激活

node.js express couchbase
1个回答
0
投票

尝试在HTTP响应中使用205状态代码,这意味着重置内容,但如果您使用谷歌浏览器浏览器,这将有所帮助

导致其余的浏览器句柄205代码如200都是成功但没有重置内容

你可以从这个link获得更多关于205的信息

© www.soinside.com 2019 - 2024. All rights reserved.