未知の (しかし、間違いなく有限の) 数の 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);
});
私は1つの結果を取得し、2番目の結果は取得しません:(
どんなヒントも素晴らしいでしょう!