मैं एक ही बार में दोनों विवरण और 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=
पुनः प्राप्त करने के यूआरएल:
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=
स्रोत
2017-08-14 09:01:28
आप सही हैं लेकिन मुझे एक्सएमएल में यूआरएल की उम्मीद है। JSON प्रतिक्रिया: यदि भविष्य में विकिपीडिया यूआरएल संरचना (it.wiki .../wiki /) को बदल देगा तो क्या होगा? विकिपीडिया एपीआई गारंटी यूआरएल स्थिरता से सीधे यूआरएल होने। लेकिन आपके जवाब के लिए कोई समस्या नहीं है और धन्यवाद। –
दरअसल, आप ऐसा कर सकते हैं, मेरा संपादन देखें। – svick
दरअसल, यह सिर्फ यूआरएल एन्कोडिंग नहीं है। तुलना करें: https://en.wikipedia.org/wiki/пиетет अपने यूआरएल-एन्कोडेड समकक्ष के लिए: –