sync: function(method,model,options){
options.beforeSend = function(xhr,settings) {
settings.xhr = function() {
console.log('test');
}
}
return Backbone.sync(method,model,options);
}
我想为我的模型提取实现一个进度条,并添加了上面的代码来覆盖同步以访问xhr方法。但是,它似乎没有发射或做任何事情。我使用的是jquery 2.0.3和主干1.1.2
编辑:
我现在遇到的问题是updateProgress最后只触发一次。
options.beforeSend = function(xhr,settings) {
settings.xhr = function() {
var xhr = $.ajaxSettings.xhr();
xhr.addEventListener("progress", updateProgress, false);
function updateProgress(event){
console.log('loaded:'+event.loaded+' total:'+event.total);
Math.ceil(event.loaded/event.total*100);
}
return xhr;
};
}