Ajax请求维基百科API问题
问题描述:
我想作一个简单的请求,维基百科的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
});
但是,这并不正确地从我的工作ajax代码(必须有“提取”键)。
我认为问题出在simbol“|” (看看阿贾克斯):
prop:"info|extracts",
如何解决?
答
$.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(这将无法正常工作)
不知道,因为它不是很清楚问题得以解决你的问题是...
答
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是并不总是可用
尼:它是“维基百科”而不是“维基”。 – gcampbell
谢谢。我刚做了一个编辑 – kurumkan
摘录并不总是可用的! –