我试图通过维基百科json API获取特定主题的信息,但是,当我点击按钮时,没有任何反应。控制台不会报告任何问题。它与 CORS 问题有关吗?
function buttonClick() {
let request = new XMLHttpRequest(),
url = "https://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=cream&&callback=?";
request.open("GET", url, false);
request.onload = function() {
let data = JSON.parse(this.response);
document.write(data);
};
request.send;
};
答案 0 :(得分:3)
尝试使用Fetch API,它更“现代”,并且对Promises有更好的支持。 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
要向维基百科提出cors请求,请在查询中添加origin=*
并从中删除callback=?
部分。
let url = 'https://en.wikipedia.org/w/api.php?origin=*&format=json&action=query&generator=search&prop=pageimages|extracts&pilimit=max&exintro&explaintext&exsentences=1&exlimit=max&gsrsearch=cream';
fetch(url).then(v => v.json()).then(v => console.log(v));