JavaScript: Ajax: Weiterleitung bei success?
ich habe ein normales HTML-form und ajax dahinter mit einer div wo text ausgegeben wird. bei Erfolg soll jetzt aber eine weiterleitung stattfinden, wie mach ich das ? einfach mit header in der php-datei geht ja nicht...
so sieht das ajax aus :
2 Antworten
Folgender JavaScript-Code führt eine Weiterleitung durch:
window.location.href = "https://beispiel.de/";
window.location.href beinhaltet die aktuell aufgerufene URL. Man braucht auch lediglich der Variable eine neue URL zuzuweisen.
Um also nach erfolgreich ausgeführter AJAX-Anfrage den Benutzer weiterzuleiten, schreibt man dies einfach in die entsprechende Funktion:
jQuery AJAX
$.ajax({
url: "beispiel.txt",
success: function(text) {
console.log(text);
window.location.href = "https://beispiel.de/";
})
});
Fetch-API
fetch("beispiel.txt")
.then(response => response.text())
.then(text => {
console.log(text);
window.location.href = "https://beispiel.de/";
});
XMLHttpRequest
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
console.log(text);
window.location.href = "https://beispiel.de/";
}
};
xhr.open("GET", "beispiel.txt", true);
xhr.send();
Nachdem die Textdatei beispiel.txt geladen wurde, wird der Textinhalt mittels console.log() in der Konsole ausgegeben und der Benutzer wird automatisch zur Seite https://beispiel.de/ weitergeleitet.
In den genannten Beispielen habe ich den Code zur Fehlerbehebung der Einfachheit halber ausgelassen.
So Vielleicht:
$.ajax({
url: 'your-url-here',
success: function(response) {
// redirect to new page
window.location = 'http://www.example.com/new-page';
}
});
mein ajax sieht so aus : https://pastebin.com/qcGKVESE