簡體   English   中英

jQuery ajax完成的回調在firefox中表現奇怪

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM