0
필요한 일부 데이터는 위키피디아의 es (스페인어 버전)에서만 사용할 수 있으며 이것은 내 스크립트를 위반하고 있습니다.이 유용한 정보를 사용하여 가능한 한 데이터를 호출하고 있습니다. 볼이 https://en.wikipedia.org/w/api.php에서 호출하지만 난 여전히뿐만 아니라 영어 데이터가 필요하지만이 특정 데이터가 https://es.wikipedia.org/w/api.php위키 피 디아에서 여러 URL (언어)의 데이터를 제공하는 방법 API
에서만 사용할 수 있습니다
그래서 내가 두 API에서 인출이 변환 할 수있는 방법 JS의 내 지식이 너무 최소한의 URL 회신 할 때 감사드립니다.
$.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);
}
});
});
나에게 프랑스어 말하기를 : 나는이 사이에 코드를 삽입입니다 라인 죄송합니다 JS에 대해 거의 알지 못해요. 그냥이 재미있는 정보를 추적했습니다 .... dataType : 'jsonp', if (data.error && new URL (this.url) .hostname === "en.wikipedia. org ") { this.url = this.url.replace ('en', 'es') $ .ajax (this); 반환; } success : function (data) { – user3677211
아니요, 성공 콜백의 내부에 설정해야합니다. 성공 : function (data) {if (data.error && new URL (this.url) .hostname === "en.wikipedia.org") {...} ...},'. BTW, 나는 위키를 표시하는 데 아무 것도없는 경우를 처리하기 위해 답변을 업데이트했습니다. –
감사합니다. 완벽하게 작동했습니다. – user3677211