[英]jQuery 1.8: Ajax beforeSend prevents deferred.done() from executing
[英]jQuery deferred method and ajax beforeSend()
通過在$ .ajax中使用延遲對象
deferred-method done()
代替 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
的功能。
$(".ajax").ajaxStart(function() {
$(".document").append("AJAX begun");
});
小提琴 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.