2017-01-31 37 views
0

我试图使用MediaWiki API获取5个维基百科页面的前10个句子。我有一个查询在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

也许吧。但是如果你记录数据并没有显示任何内容,你可能会遇到网络问题。在运行代码时检查Developer Tools中的网络窗格。您应该看到维基百科有200个状态的交易。双击以查看返回的内容。如果没有,或不同的状态 - 这是你的问题。 –

+0

因此,这帮助我找出我应该使用哪个链接,它现在正在工作,但它只是改变了页面重新加载之前我试图改变的HTML一分钟 - 不知道为什么发生这种情况? – Keli