나는 한 번 설명 및 URL을 모두 검색하는 것은 불가능 발견했습니다, 그래서 자바 스크립트 방법 첫 번째 GET 설명, 두 번째 URL 가져 오기 둘로 :
function get_wiki_info() {
$.ajax({
url: 'http://it.wikipedia.org/w/api.php',
data: { action: 'query', list: 'search', srsearch: $("input[name=city]").val(), format: 'json' },
dataType: 'jsonp',
success: function (data) {
console.log('wiki', data.query.search[0].snippet);
$('#info-wiki-text').html(data.query.search[0].snippet);
get_wiki_links();
},
fail: function (data) {
$('#info-wiki-text').html("Impossible retrieve information for " + $("input[name=city]").val());
}
});
}
function get_wiki_links() {
$.ajax({
url: 'http://it.wikipedia.org/w/api.php',
data: { action: 'query', generator: 'allpages', search: $("input[name=city]").val(), format: 'json', gapfrom: $("input[name=city]").val(), gapto: $("input[name=city]").val(), prop: 'info', inprop: 'url' },
dataType: 'jsonp',
success: function (data) {
console.log('wiki', data.query.pages);
$.each(data.query.pages, function (key, val) {
$('#wiki-city-link').attr('href', val.fullurl);
});
},
fail: function (data) {
console.log(data);
}
});
}
원하는 경우이 설명을 검색 :
https://it.wikipedia.org/w/api.php?action=query&list=search&srsearch=Your%20Params&utf8=
가 검색 URL :
https://it.wikipedia.org/w/api.php?action=query&generator=allpages&search=Your%20Params&gapfrom=Your%20Params&gapto=Your%20Params&prop=info&inprop=url&utf8=
네 말이 맞지만 XML | JSON 응답의 URL을 기대했다 : wikipedia가 앞으로 URL 구조 (it.wiki .../wiki /)를 변경하면 어떻게 될까? 위키 피 디아 API URL에서 직접 URL을 가져 와서 URL의 일관성을 보장합니다. 그러나 문제는 없으며 당신의 대답에 감사드립니다. –
사실, 편집 할 수 있습니다. – svick
실제로 URL 인코딩이 아닙니다. 비교 : https://en.wikipedia.org/wiki/пиетет 의 URL 인코딩 된 부분 : –