我遇到了 Jquery 延迟对象的问题。我正在一个函数中创建一个承诺,该函数将执行 ajax 调用并将数据保存到服务器。我知道 jQuery ajax 有一个预定义的延迟对象。
var AddCodes = function(XML ){
var def = $.Deferred();
$.ajax({
type: "POST",
url: "webservicename.asmx/SaveCode",
data: "{" + XML + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
def.resolve();
},
error: function (jqXHR, status, error) {
def.reject();
}
});
return def.promise();
}
然后我正在评估这样的功能。
$.when(AddCodes(XML)).then(function(){
processData();
}
如果 AddCodes() 函数成功执行,我只是调用另一个函数将一些数据插入数据库。因为两者都是依赖函数。
问题是当函数不评估时, deferredobject. processData()
永远不会起作用。我第一次使用延迟到我的项目。请帮我解决这个问题。