覆盖骨干js同步方法添加xhr事件监听器

时间:2014-12-05 21:41:09

标签: jquery ajax backbone.js

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;

            };


         }

0 个答案:

没有答案