2017-01-31 2 views
0

Я пытаюсь получить первые десять предложений из 5 страниц Википедии, используя API MediaWiki. У меня есть запрос, работающий в песочнице API, но по какой-то причине мой вызов getJSON() не работает. Вот мой код:jQuery Wikipedia API не работает

$("form").submit(function() { 
    var input = $("#wikisearch").val(); 
    var link = "https://en.wikipedia.org/w/api/php?action=query&format=json&prop=extracts&indexpageids=1&generator=allpages&exsentences=10&explaintext=1&gapfrom=" + input + "&gaplimit=5&callback=?"; 

    $.getJSON(link, function(data) { 
     var array = data.query.pageids; 
     alert(array); 
    }); 
}); 

Может ли кто-нибудь сказать мне, почему звонок JSON не работает?

+0

Какая ошибка вы испытываете? –

+0

Ничего не происходит, я не получаю массив предупреждением, и ни один из другого кода, который я пытался в getJSON, ничего не делает. – Keli

ответ

1

Пара вещей:

  1. У вас ошибка в URL: он должен быть не api.phpapi/php.
  2. console.log данные перед его обработкой.
  3. Вы можете добавить обработку ошибок, добавив обработчик .fail(), чтобы произвести сбой в будущем.
+0

Я сделал эти изменения, ничего не появляется в консоли, когда я делаю console.log (данные)? это не терпит неудачу, я добавил обработчик события сбоя, и если я запутаюсь со ссылкой, это не сработает, поэтому я не думаю, что правильно обрабатываю данные? – Keli

+0

Возможно. Но если вы регистрируете 'данные' и ничего не отображается, может возникнуть проблема с сетью. Проверьте панель «Сеть» в Инструментах разработчика во время выполнения кода. Вы должны увидеть транзакцию с 200 статусом для Википедии. Дважды щелкните, чтобы узнать, что вернулось. Если ничего, или другой статус - это ваша проблема. –

+0

Так что помогло мне выяснить, какую ссылку я должен использовать, теперь она работает, но только изменяет html, который я пытаюсь изменить за долю секунды до перезагрузки страницы - не знаете, почему это происходит? – Keli

Смежные вопросы