[英]jQuery ajax done callback behaves strange in firefox
我在jQuery 1.7.1和firefox中的ajax函數方面遇到問題。 我正在執行一個Ajax調用,該請求從CMIS服務器請求json。 在chrome中,一切正常。 讓我給你舉個例子:
function ajaxCall(url, requestType, isAsync, parameters, doneCb, failCb) {
$.ajax(url, {
type: requestType,
async: isAsync,
data: parameters
}).done(
alert("test"),
// the following function gets not executed in firefox with async: true
function (result) {
doneCb(result);
}).fail(function (cause) {
failCb(cause);
});
}
在firefox中,奇怪的是,如果我使用async:false,一切都像一個符咒。 如果我使用async:true,還將執行完成的回調,並彈出警告消息“ test”的警報。 但是警報未執行后該功能。 我在Google上搜索了很多,卻找不到解決該問題的方法。
你是我最后的希望;)
感謝和問候,西蒙
我也嘗試了老式的方法,但結果仍然相同-如果async為true,則不會在firefox中調用成功函數。
$.ajax(url, {
type: requestType,
async: isAsync,
data: parameters,
success: function(result){
doneCb(result);
},
error: function(cause){
failCb(cause);
}
});
該代碼將接收alert
並將返回的內容分配給done的第一個參數。 它是在初始化函數時執行的,而不是在實際調用done()
方法時執行的。
它看起來像
.done(
function() { alert("test") },
function() { ... }
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.