Я пытаюсь изменить переменную страницы с помощью API поиска статей NYT, чтобы перейти к следующим 10 результатам. У меня есть номер страницы в качестве переменной, мне просто нужно либо изменить его с помощью другой функции, либо перезагрузить запрос, когда я нажимаю ссылку на следующую или предыдущую страницу.
function articleSearch() {
$('nav').hide();
var pageCount = 0;
var search = $('#search').val();
$('#articles').submit(function(evt) {
$('#searchHead').remove();
evt.preventDefault();
// var search = $('#search').val();
var fromAlt = $('#fromAlt').val();
var toAlt = $('#toAlt').val();
var sort = $('#sort').val();
var formData = $('#articles').serialize();
formData = encodeURI(formData);
var url = "http://api.nytimes.com/svc/search/v2/articlesearch.json";
url += '?' + $.param({
'api-key': "API-KEY-GOES-HERE",
'q': '"' + search + '"',
'begin_date': fromAlt,
'end_date': toAlt,
'sort': sort,
'fl': "headline, byline, pub_date, snippet, web_url",
'page': pageCount
});
$.getJSON(url, displayResults);
}); // end article submit func
}
function displayResults(dataFromServer) {
$('#searchHead').remove();
$('#resultsList').remove();
$('#articleHeader').remove();
var results = dataFromServer.response.docs;
var metaTag = dataFromServer.response.meta;
if (metaTag.hits < 10) {
$('nav').hide();
} else {
$('nav').show();
}
$('#articles').after('<h2 id = "searchHead"></h2>');
$('nav').after('<ol id = "resultsList"></ol>');
$('nav').after('<p id = "articleHeader">Viewing articles ' + ' of ' + metaTag.hits);
var fromDate = $('#fromDate').val();
var toDate = $('#toDate').val();
var searchTerm = $('#search').val();
var searchString = "You searched for " + searchTerm + " from " + fromDate + " to " + toDate;
$('nav').append('<h2 id = "searchHead">' + searchString + '</h2>');
$.each(results, function(resultsIndex, resultsValue) {
var headline = resultsValue.headline.main;
var byline = resultsValue.byline.original;
var pubDate = resultsValue.pub_date.slice(0, 10);
var snippet = resultsValue.snippet;
var link = resultsValue.web_url;
var article = "<a href='" + link + "'>" + headline + "</a> " + byline + '<br>' + pubDate + "<br>" + snippet;
var li = '<li>' + article + '</li>';
$('#resultsList').append(li);
}); //end each func
}
да. Я хочу обновить его, чтобы показать следующие 10 результатов
Вам нужно либо вывести его за рамки articleSearch и обновить его в displayResults, либо создать генератор функций displayResults, который принимает его как параметр и изменяет его в сгенерированной функции.
Итак, у меня это выходит за рамки области, и я могу обновить счет, когда я нажимаю на следующую ссылку, как мне заставить его перезагрузить запрос со следующими 10 результатами?
Так же, как вы это делаете сейчас?
Спасибо! Я просто скопировал и вставил код из функции отправки анонса. Оно работает.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Мне непонятно, о чем вы спрашиваете; вы хотите менять
pageCountпри каждой успешной отправке?