我正在使用以下技术和框架版本:
我是这个技术和框架的初学者。
我正在用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方法:仅限价值冲突解决方案:序列号压缩:未激活
尝试在HTTP响应中使用205状态代码,这意味着重置内容,但如果您使用谷歌浏览器浏览器,这将有所帮助
导致其余的浏览器句柄205代码如200都是成功但没有重置内容
你可以从这个link获得更多关于205的信息