0

我有这个代码:

$.when(saveData()).done(alert('ok')).fail(alert('not ok'));

结果是“ok”和“not ok”都被警告。

Jquery docs 说 .done() 等同于成功, .fail 等同于失败(来源:http ://api.jquery.com/deferred.fail/ )

我的saveData()功能:

function saveData()
        {
            var data_save = $('#eciform').serializeArray();
            return $.ajax
                ({
                    type:"post",
                    url:"inputajax.cfm?mode=3",
                    data:data_save                  
                });
        }

它怎么能同时返回 ok 和 not ok?它应该是成功或失败。是不是因为它只适用于 GET 而不是 POST?

4

1 回答 1

1

.done() 和 .fail() 需要在 function() 内

function doneCallback(){
    alert("this was ok");
}

function failCallback(){
    alert("this was not ok");
}

$.when(saveData()).done(doneCallback).fail(failCallback);

或者干脆

$.when(saveData()).done(function(){alert("ok");}).fail(function(){alert("not ok");});
于 2012-10-06T14:20:30.313 回答