2017-01-31 68 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