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