backbone.js 获取缓存的结果

标签 backbone.js

我在以下backbone.js Controller 的索引操作中使用fetch:

App.Controllers.PlanMembers = Backbone.Controller.extend({
    routes: {
        "": "index"
    },

    index: function () {
        var planMembers = new App.Collections.PlanMembers();

        planMembers.fetch({
            success: function () {
                var recoveryTeam = planMembers.select(function (planMember) {
                    return planMember.get("TeamMemberRole") == "RecoveryTeam";
                });

                var otherMembers = planMembers.select(function (planMember) {
                    return planMember.get("TeamMemberRole") == "Other";
                });

                new App.Views.Index({ collection: { name: "Team", members: recoveryTeam }, el: $('#recoveryTeam') });

                new App.Views.Index({ collection: { name: "Team", members: otherMembers }, el: $('#otherTeam') });
            },
            error: function () {
                alert('failure');
                showErrorMessage("Error loading planMembers.");
            }
        });
    }
});

问题在于结果正在被缓存。它不会获取数据库更改。有没有办法告诉backbone.js不要缓存结果?

我知道我可以覆盖集合的 url 并附加时间戳,但我正在寻找比这更干净的东西。

最佳答案

这通常是 IE 上的问题,backbone 与此无关。您必须转到 jQuery ajax 调用并查看文档。 Backbone 使用 jquery ajax 作为其同步方法。您可以执行以下操作来强制所有浏览器上的 ajax 调用:

$.ajaxSetup({ cache: false });

http://api.jquery.com/jQuery.ajaxSetup/

关于backbone.js 获取缓存的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6178366/

相关文章:

javascript - 在 asp.net web 表单中使用下划线模板 _.template()

javascript - 无法从 Rails 上的收集主干获取数据

javascript - 主干 View 点击 Hello World

collections - 您如何覆盖 Backbone 集合(相对于模型)的同步方法?

javascript - Backbone.js 解析未修改的响应

jquery - 主干 this.el 未定义

javascript - Backbone 错误处理

javascript - 'el' 在 vi​​ew.render().el 中做了什么?

javascript - Require.js 错误 : Load timeout for modules: backbone,

javascript - 将包含属性的 Backbone 集合序列化为 JSON