Изменение переменной функции обратного вызова при нажатии

Я пытаюсь изменить переменную страницы с помощью 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
}

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

Dave Newton 05.12.2018 17:02

да. Я хочу обновить его, чтобы показать следующие 10 результатов

Michael H 05.12.2018 17:03

Вам нужно либо вывести его за рамки articleSearch и обновить его в displayResults, либо создать генератор функций displayResults, который принимает его как параметр и изменяет его в сгенерированной функции.

Dave Newton 05.12.2018 17:05

Итак, у меня это выходит за рамки области, и я могу обновить счет, когда я нажимаю на следующую ссылку, как мне заставить его перезагрузить запрос со следующими 10 результатами?

Michael H 05.12.2018 17:46

Так же, как вы это делаете сейчас?

Dave Newton 05.12.2018 17:49

Спасибо! Я просто скопировал и вставил код из функции отправки анонса. Оно работает.

Michael H 05.12.2018 17:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
44
0

Другие вопросы по теме