कैश्ड मैं उपयोग कर रहा हूँ निम्नलिखित backbone.js नियंत्रक के सूचकांक कार्रवाई में लाने:backbone.js लाने परिणाम
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 को परिणामों को कैश नहीं करने के लिए वैसे भी है?
मुझे पता है कि मैं संग्रह के यूआरएल को ओवरराइड कर सकता हूं और टाइमस्टैंप जोड़ सकता हूं लेकिन मैं उससे थोड़ा क्लीनर ढूंढ रहा हूं।
वही समस्या यहां। –
आप जो पूछ रहे हैं उसकी पुष्टि करने की कोशिश कर रहे हैं।आप एक ऐसा कार्य करते हैं जो कॉल करने के लिए ब्राउज़र का उपयोग करने वाले कवर के तहत AJAX कॉल करता है। और ब्राउज़र कॉल नहीं कर रहा है क्योंकि यह कैश निर्देशों का पालन करता है? असल में, यह backbone.js समस्या नहीं हो सकती है क्योंकि backbone.js कोई कैशिंग नहीं करता है। यह संग्रह में सभी मॉडलों को हमेशा प्राप्त करता है जो इसे प्राप्त करता है। हो सकता है कि आप अपने प्रश्न में कुछ ब्राउज़र एक्सएचआर विवरण जोड़ें और जो कुछ आप पूछ रहे हैं उसे थोड़ा सा स्पष्ट करें। –