我需要的一些数据仅在维基百科的es(西班牙语版本)中提供,这打破了我的脚本我正在使用这个小工具来调用数据,因为你可以看到来自https://en.wikipedia.org/w/api.php但是这个特定的数据仅可从https://es.wikipedia.org/w/api.php
获取但是我仍然需要英文数据
那么如何将其转换为从两个API中获取我对JS的知识是最小的所以请在回复时记住这一点谢谢
$.ajax({
url: 'https://en.wikipedia.org/w/api.php',
data: {
format: 'json',
action: 'parse',
page: this_target,
prop:'text',
section:0,
},
dataType: 'jsonp',
success: function (data) {
//console.log(data)
$(id_target).find('.o-modal__inner').html('');
$(id_target).find('.o-modal__title').html('').hide();
$(id_target).find('.o-modal').addClass('isOpen');
if(!$(id_target).find('.a-more').hasClass('isActive')){
$(id_target).find('.a-more').trigger('click');
}
var markup = data.parse.text['*'];
var i = $('<div></div>').html(markup);
i.find('a').each(function() { $(this).replaceWith($(this).html()); });
i.find('sup').remove();
i.find('.mw-ext-cite-error').remove();
setTimeout(function() {
$(id_target).find('.o-modal__title').html( data.parse.title).fadeIn(300);
$(id_target).find('.o-modal__inner').html($(i).find('p'));
$(id_target).find('.a-loader').hide();
}, 1000);
}
});
});
答案 0 :(得分:0)
您可以在data.error
回调的顶部检查success
,如果是,对于英文页面,只需更换子域即可重新发送ajax请求:
if (data.error && new URL(this.url).hostname === "en.wikipedia.org") {
this.url = this.url.replace('en', 'es')
$.ajax(this);
return;
} else if(data.error) {
console.log('No data to display from both english & spanish wiki');
return;
}