tatsächlich arbeiten auf einer FCC-Herausforderung, ich muss einen AJAX Aufruf an die Wikimedia API machen, aber ich habe damit zu kämpfen.Fehler auf AJAX Anruf mit wikipedia API
Zuerst suchte und fand ich, dass ich einen personalisierten Anfrage-Header setzen musste, aber mein Problem bleibt gleich, die Anfrage scheint nicht zu senden, weil mein eventListener auf "laden" nicht aktiviert ist, wenn Sie eine Anfrage stellen. Ich habe meine URL überprüft und es funktioniert gut in meinem Browser. Danke für Ihre Hilfe, und hier ist mein Code:
// ================ 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);
Vielen Dank für Ihre Antwort, kann ich das jetzt sagen ** meine Anfrage nicht initialisiert ** ... obwohl ich ein request.open gemacht()! – Halkeand
Ich habe die Lösung zu meiner Antwort hinzugefügt, Sie müssen '& origin = *' zur URL hinzufügen. – Boratzan