2016-07-28 123 views
0

我想作一個簡單的請求,維基百科的API:Ajax請求維基百科API問題

$.ajax({ 
    url: 'http://en.wikipedia.org/w/api.php', 
    data: { 
     action: "query", 
     generator: "search", 
     gsrnamespace: 0, 
     gsrsearch: "te", 
     gsrlimit: 30, 
     prop: "info|extracts", 
     inprop: "url", 
     format: "json" 
    }, 
    dataType: 'jsonp', 
    success: processResult 
}); 

的結果應該是這樣的 - >https://en.wikipedia.org/w/api.php?action=query&generator=search&gsrnamespace=0&gsrsearch=te&gsrlimit=10&prop=info|extracts&inprop=url

但是,這並不正確地從我的工作ajax代碼(必須有「提取」鍵)。

我認爲問題出在simbol「|」 (看看阿賈克斯):

 prop:"info|extracts", 

如何解決?

+0

尼:它是「維基百科」而不是「維基」。 – gcampbell

+0

謝謝。我剛做了一個編輯 – kurumkan

+0

摘錄並不總是可用的! –

回答

1
$.ajax({ 
    url: 'https://en.wikipedia.org/w/api.php', 
    data: { 
     action: 'query', 
     generator: 'search', 
     gsrnamespace: 0, 
     gsrsearch: 'te', 
     gsrlimit: 30, 
     prop: 'info|extracts', 
     inprop: 'url', 
     format: 'json', 
     origin: '*' 
    } 
}).done(processResult); 
  • 使用純AJAX代替鄰˚FJSONP
  • 使用origin: '*'(這是必需的)
  • 使用HTTPS而不是HTTP(這將無法正常工作)

不知道,因爲它不是很清楚問題得以解決你的問題是...

0

1.You可以使用的getJSON代替$就

$.getJSON("https://en.wikipedia.org/w/api.php?action=query&generator=search&gsrnamespace=0&gsrsearch=te&gsrlimit=10&prop=info|extracts&inprop=url&format=json&callback=?", processResult); 

2.Remember與值加參數(以避免jQuery的AJAX跨域錯誤)

callback=? 

3.extracts是並不總是可用