如何从维基百科的多个 url(语言)提供数据 API

how to serve data from multiple urls (languages) from wikipedia API

我需要的一些数据仅在维基百科的 es(西班牙语版本)中可用,这破坏了我的脚本我正在使用这个花絮来调用数据,你可以看到它从 https://en.wikipedia.org/w/api.php but this particular data is only available from 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);
    }
});

});

您可以在 success 回调顶部检查 data.error,如果是英文页面,只需替换子域即可重新发送 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;
  }