Can.JS中的全局AJAX事件监听器?

时间:2013-09-14 14:05:46

标签: ajax canjs

是否可以在Can.JS中启动AJAX请求时绑定侦听器?我想在我的Can.JS项目中集成一个小的加载指示器,以便用户可以看到从我的服务器加载数据的时间。使用jQuery $.ajaxStart$.ajaxSend事件不起作用,但$.ajaxComplete事件确实触发了。

1 个答案:

答案 0 :(得分:2)

your example中,您绑定到document.ready上的事件,这是在您启动Ajax请求之后。仅显示完整日志,因为文档已准备好并在Ajax请求返回之前绑定事件。如果您在document.ready上按照正确的顺序执行所有操作:

$(document).ready(function(e){
    $(document).ajaxStart(function(){
        console.log('start');
    }).ajaxComplete(function(){
        console.log("Complete");
    });

    var TestModel = can.Model({
        findAll: "GET http://jsfiddle.net/echo/json/"
    });

    TestModel.findAll({}, function(result){
        alert(result);
    });
});

它按预期工作(见updated fiddle)。