Javascript 如何在页面刷新时保留视图数据

Javascript 如何在页面刷新时保留视图数据,javascript,jquery,backbone.js,mustache,handlebars.js,Javascript,Jquery,Backbone.js,Mustache,Handlebars.js,我试图在我的MVC应用程序中使用主干架构。我使用手柄/胡须创建了模板,我的模型包含我在UI上的表格(在一个div中)中显示的信息 我希望每5分钟重新加载一次页面,以刷新表中的数据。 我可以用 但它不会将视图数据保存在表中。在这种情况下,如何刷新页面 编辑: 基本上,我在页面上有一个搜索框,搜索项被加载到一个表中。如果我使用meta标记刷新页面,页面将被重新加载,表中的数据也将消失 我希望每5分钟重新加载一次页面,以刷新表中的数据 不完全是。您希望每五分钟重新加载一次数据,以便刷新页面中的表 您

我试图在我的MVC应用程序中使用主干架构。我使用手柄/胡须创建了模板,我的模型包含我在UI上的表格(在一个div中)中显示的信息

我希望每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:谢谢你提醒我。有时几分钟确实感觉像几个小时:)