我會注意到這段代碼並不是我自己構建的,我只是在已經存在的系統上使用插件來做一些UI更改。
我正在構建一個插件,它利用了blockUI(是的,我需要使用插件構建一個插件),以便在觸發Ajax調用時在某些元素上顯示加載圖標,但是這個特別調用alert()
如果success()
事件沒有得到所需的響應。
這樣做的結果是我的加載圖標調用後的alert
火災,這是不是我想要做的事。
當我打電話我建立的功能,我通過在$.post()
完成我需要的設置和選項,比如:
$.fn.startLoading({
element: $("div"),
ajax: $.post('some.url',
{
//Ajax settings...
}, function (response) { //This is the success function, right?
if (good) {
//stuff
}
else
alert("Bad!"); //This happens BEFORE fadeOut()
}
}, 'text')
.error(function (msg) {
alert('Worse error!');
})
});
我的插件的功能通吃的這種作爲一個options
參數,像這樣:
$.fn.startLoading = function (options) { ...
我再訪問$.post()
電話這樣的:
if (options.ajax)
ajax = options.ajax;
這是我卡住的地方。我需要確保發生在success
事件觸發之前。我如何使用我在插件中創建的ajax
變量來做到這一點?
語法錯誤在這裏:'ajax:$ .post('some.url'),{'should should remove')' –
剛纔看到了,謝謝。現在更新。 – Kehlan
此外,'jqXHR.error'折舊,您應該使用.fail。 –