0

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

4

1 回答 1

2

您的示例中,您将绑定到 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);
    });
});

它按预期工作(请参阅更新的小提琴)。

于 2013-09-15T00:06:48.227 回答