Javascript 如何在页面刷新时保留视图数据
我试图在我的MVC应用程序中使用主干架构。我使用手柄/胡须创建了模板,我的模型包含我在UI上的表格(在一个div中)中显示的信息 我希望每5分钟重新加载一次页面,以刷新表中的数据。 我可以用Javascript 如何在页面刷新时保留视图数据,javascript,jquery,backbone.js,mustache,handlebars.js,Javascript,Jquery,Backbone.js,Mustache,Handlebars.js,我试图在我的MVC应用程序中使用主干架构。我使用手柄/胡须创建了模板,我的模型包含我在UI上的表格(在一个div中)中显示的信息 我希望每5分钟重新加载一次页面,以刷新表中的数据。 我可以用 但它不会将视图数据保存在表中。在这种情况下,如何刷新页面 编辑: 基本上,我在页面上有一个搜索框,搜索项被加载到一个表中。如果我使用meta标记刷新页面,页面将被重新加载,表中的数据也将消失 我希望每5分钟重新加载一次页面,以刷新表中的数据 不完全是。您希望每五分钟重新加载一次数据,以便刷新页面中的表 您
但它不会将视图数据保存在表中。在这种情况下,如何刷新页面
编辑:
基本上,我在页面上有一个搜索框,搜索项被加载到一个表中。如果我使用meta标记刷新页面,页面将被重新加载,表中的数据也将消失
我希望每5分钟重新加载一次页面,以刷新表中的数据
不完全是。您希望每五分钟重新加载一次数据,以便刷新页面中的表
您应该在某个地方使用,甚至可以在视图的初始化中使用:
start_reloader: function() {
var _this = this;
this.timer = setTimeout(function() {
$.ajax({
// Load the data from your server...
success: function(data) {
_this.redraw_the_table(data);
_this.start_reloader();
}
});
}, 5*60*1000);
},
initialize: function() {
this.start_reloader();
}
然后你想在中删除一些东西来终止计时器:
remove: function() {
if(this.timer)
clearTimeout(this.timer);
return Backbone.View.prototype.remove.apply(this);
}
您也可以使用and,但如果AJAX调用中出现延迟,它们(很小)可能会相互叠加
当然,您不必在视图中管理这一点。在您的情况下,设置模型或集合以每五分钟从服务器重新加载一次可能更有意义;然后,视图将像往常一样绑定到模型或集合的事件,并响应'reset'
,'change'
。。。来自模型/集合的事件
我希望每5分钟重新加载一次页面,以刷新表中的数据
不完全是。您希望每五分钟重新加载一次数据,以便刷新页面中的表
您应该在某个地方使用,甚至可以在视图的初始化中使用:
start_reloader: function() {
var _this = this;
this.timer = setTimeout(function() {
$.ajax({
// Load the data from your server...
success: function(data) {
_this.redraw_the_table(data);
_this.start_reloader();
}
});
}, 5*60*1000);
},
initialize: function() {
this.start_reloader();
}
然后你想在中删除一些东西来终止计时器:
remove: function() {
if(this.timer)
clearTimeout(this.timer);
return Backbone.View.prototype.remove.apply(this);
}
您也可以使用and,但如果AJAX调用中出现延迟,它们(很小)可能会相互叠加
当然,您不必在视图中管理这一点。在您的情况下,设置模型或集合以每五分钟从服务器重新加载一次可能更有意义;然后,视图将像往常一样绑定到模型或集合的事件,并响应'reset'
,'change'
。。。模型/集合中的事件。刷新时,它应该从数据库中查找新的视图数据。请查看上面Q的更新。刷新时,“它不会在表中保存视图数据”是什么意思,它应该从数据库中查找新的视图数据above@user1248256:谢谢你的提醒。有时候,这几分钟感觉就像几个小时:)@user1248256:谢谢你提醒我。有时几分钟确实感觉像几个小时:)