0
实际上工作在FCC挑战,我需要做一个AJAX调用的维基媒体API,但我努力与它。AJAX上的错误获取与维基百科API调用
我第一次搜索和发现,我需要把个人化的请求标题,但我的问题保持不变,请求似乎不会发送,因为我的eventListener上的“加载”没有激活时发出请求。我检查了我的网址,它在我的浏览器中工作正常。感谢您的帮助,这里是我的代码:
// ================ AJAX GENERIC FUNCTION =============================
function ajaxGet(url, callback) {
let req = new XMLHttpRequest();
req.open("GET", url);
req.setRequestHeader('Api-User-Agent', 'Wiki Viewer');
req.addEventListener("load", function() {
if (req.status >= 200 && req.status < 400) {
// Call the callback function and pass it the response
callback(req.responseText);
} else {
console.error(req.status + " " + req.statusText + " " + url);
}
});
req.addEventListener("error", function() {
console.error("Erreur réseau avec l'URL " + url);
});
req.send(null);
}
// ================ FUNCTION(S) =============================
function displayResult() {
let urlToSearch = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" + searchInput.value;
ajaxGet(urlToSearch, function (response) {
console.log(response);
});
}
// ================ GLOBAL VARIABLES =============================
let searchBtn = document.getElementById("searchBtn");
let searchInput = document.getElementById("searchInput");
// ================ EVENT LISTENNER =============================
searchBtn.addEventListener("click", displayResult);
谢谢您的回答,我现在可以说,我的**请求未初始化** ...虽然,我犯了一个request.open()! – Halkeand
我在我的答案中添加了解决方案,您需要在URL中添加'&origin = *'。 – Boratzan