jQuery延迟方法和ajax beforeSend()
通过在$ .ajax中使用延迟对象
- 成功回调可以用
deferred-method done()
代替 - 错误回调acn被
deferred-method fail()
- 并且完整回调可以由
always()
替换
通过使用
var jqxhr = $.ajax({ url: Config.baseUrl+"/ajax/favourites/set-favourite.ajax", dataType: "json", data: attrs, type: "POST", beforeSend: function(){ console.log("before send"); } });
如何使用延迟对象实现beforeSend-callback
?
为什么我不在$.ajax
函数中使用beforeSend-callback? 因为请求在模型实例( http://canjs.com/docs/can.Model.model.html#section_Non_standardServices )内,所以模型对象执行请求和所有其他的后缀,比如操纵DOM将在延迟对象。 我想在发送ajax请求之前操纵DOM。
我怎么能这样做?
您可以将全局jQuery事件ajaxStart
到触发AJAX请求的任何元素。 这应该基本上复制beforeSend
的function。
$(".ajax").ajaxStart(function() { $(".document").append("AJAX begun"); });
小提琴 。