Я подключаюсь к REST API, чтобы использовать таблицу данных в инструменте бизнес-аналитики. API имеет 100 записей на страницу, но у меня есть неизвестное количество страниц для этого до l oop через. Если я вручную определю «totalpages = 10», то он будет успешно пропущен через 10 страниц и получит ожидаемые результаты.
Я хочу получить заголовок ответа HTTP «X-Total-Pages», чтобы определить текущее количество общих страниц (общее количество страниц меняется ежечасно). Я пытаюсь определить totalpages = jqXHR.getResponseHeader ('X-Total-Pages'), как показано ниже, но он возвращает только 1 страницу данных VS, если я укажу totalpages = 10, он вернет данные на 10 страниц.
Если у кого-то есть понимание или я вижу, где я иду не так, я был бы признателен за помощь. Спасибо!
$.ajaxSetup({
headers : {
'Accept' : 'application/vnd.whatever.v2.1+json',
'X-Whatever-Authorization' : 'Bearer 0123456789ABCDEF',
'Content-Type' : 'application/json',
'dataType' : 'json'
}
});
var PageNo = 1;
var tableData = [];
var totalpages = null;
do {
$.ajax({
type: 'GET',
url: "http://whatever.com/whatever.json&page=" + PageNo,
success: function(incident, status, jqXHR) {
totalpages = jqXHR.getResponseHeader('X-Total-Pages');
for (var i = 0, len = incident.length; i < len; i++) {
tableData.push({
"id": incident[i].id,
"number": incident[i].number,
"description": incident[i].description_no_html,
"state": incident[i].state,
})
}
table.appendRows(tableData);
}
})
PageNo++
}
while (PageNo <= totalpages)
doneCallback();