我需要链接未知(但绝对有限)数量的 ajax 请求。我想创建一个 goAjax() 函数并用 $.when 观察它,并在我的 .then() 块中确定是否再次调用 goAjax() ......这是我的问题,$.when() 似乎只是在 goAjax() 第一次触发时捕获它。我能做些什么?
function goAJAX(url) {
var jqxhr = $.ajax({
dataType: "xml",
url: url
}).fail(function(data) {
console.log( "error" );
console.log( data );
});
return jqxhr;
}
$.when( goAJAX(url) ).then(function( result ) {
var oaiJSON = $.xml2json(result);
var thisBatchOfRecords = oaiJSON.ListRecords.record.length;
var resumptionToken = oaiJSON.ListRecords.resumptionToken.text;
totalRecords =+ thisBatchOfRecords;
if(thisBatchOfRecords > 99) {
var url = "https://www.aURL.com?verb=ListRecords&resumptionToken="+resumptionToken;
goAJAX(url);
}
console.log(totalRecords);
});
我得到一个结果,从来没有第二个 :(
任何提示都会很棒!