Ajax 请求维基百科 API 问题
Ajax request to Wikipedia API issue
我想向维基百科提出一个简单的请求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 代码中无法正常工作。(必须有 "extract" 键)。
我认为问题出在符号“|”中(看ajax):
prop:"info|extracts",
如何修复?
1.You 可以使用 getJSON 而不是 $.ajax
$.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添加带值的参数(避免jQueryAJAX跨域错误)
callback=?
3.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 而不是 JSONP
- 使用
origin: '*'
(这是必需的)
- 使用 HTTPS 而不是 HTTP(这行不通)
不确定这是否能解决您的问题,因为您的问题不是很清楚...
我想向维基百科提出一个简单的请求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 代码中无法正常工作。(必须有 "extract" 键)。
我认为问题出在符号“|”中(看ajax):
prop:"info|extracts",
如何修复?
1.You 可以使用 getJSON 而不是 $.ajax
$.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添加带值的参数(避免jQueryAJAX跨域错误)
callback=?
3.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 而不是 JSONP
- 使用
origin: '*'
(这是必需的) - 使用 HTTPS 而不是 HTTP(这行不通)
不确定这是否能解决您的问题,因为您的问题不是很清楚...