gpt4 book ai didi

Backbone.js 和 ie fetch 仅使用开发工具工作

转载 作者:行者123 更新时间:2023-12-02 23:31:51 26 4
gpt4 key购买 nike

我正在尝试使用 BB.js 构建一个小型应用程序。

当然,一切都可以在 FF、CHROME 和 Opera 中运行,但不能在 IE 中运行。

我只是尝试使用 Restful(php 后端)获取模型来获取模型集合。

在 IE 中,即使多次刷新也不会发生任何情况。但是当我打开 de dev 工具检查控制台并刷新时,突然它就可以工作了。

模型和收藏

(function($) {


//a fact model
window.Fact = Backbone.Model.extend({

defaults: {
factContent: ''
},


initialize: function Fact(){
console.log("just created a fact");

this.url = "fact.php?fact="+this.id,

this.bind("error", function(model, error){
console.log(error);
});
},

parse : function(resp, xhr) {

//new fact added
if(resp.type == "create")
this.url = "fact.php?fact="+resp.id;

return resp;
}

});

//collection of models
window.Facts = Backbone.Collection.extend({

model: Fact,

url: "facts.php",

initialize: function(){
console.log('fact collection created');
}
});


//facts view
window.FactsCollectionView = Backbone.View.extend({

el: $("#factsCollectionContainer"),

initialize: function(){
this.template = _.template($('#factsCollectionTemplate').html());

//binding
_.bindAll(this, 'render');
this.collection.bind('change', this.render);
this.collection.bind('add', this.render);
this.collection.bind('remove', this.render);
this.collection.bind('reset', this.render);

},

render: function(){
var renderedContent = this.template({facts : this.collection.toJSON()});
$(this.el).html(renderedContent);
return this;
}

});


$(document).ready(function(){
//create a fact collection and populate it
factsc = new Facts();


//NOT WORKING IN IE (no alerts)
//WORKING ONLY USING DEV TOOL
factsc.fetch({success:function(){
//create a view and show collection after fetch is done
factsView = new FactsCollectionView({collection:factsc});
factsView.render();

alert("success fetch");
}, error: function(){
alert("error fetch");
}});
});





})(jQuery);

获取返回此 JSON:[{"id":"48","factContent":"你好"},{"id":"47","factContent":"世界"}]

最佳答案

我相信这是由 IE 缓存 ajax 调用引起的。检查这个问题:backbone.js fetch results cached 。基本上,您可以像这样强制 IE 不缓存您的请求:

factsc.fetch({
cache: false,
success:function(){ /* stuff */
},
error:function() {/* error message */
});

关于Backbone.js 和 ie fetch 仅使用开发工具工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12333188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com