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とOKではないものを同時に返すことができますか? 成功するか失敗するかのどちらかです。POSTではなくGETでのみ機能するためでしょうか?

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 に答える