2013-02-17 9 views
9

Ich habe eine jquery Funktion, die eine PHP-Datei über AJAX aufruft. Innerhalb dieser PHP-Datei zurückgibt Ich habePHP AJAX 12017 Fehler beim Aufruf von Header (Location :)

header('Location: http://www.google.com'); 

Allerdings funktioniert dies nicht, wird die Seite nicht umgeleitet wird und der jQuery AJAX-Aufruf einen Fehler, keine 12.017, ich nicht viele Informationen über diese Fehlernummer finden.

Ich habe Ausgabepuffer aktiviert und habe versucht, den Header-Aufruf direkt an der Spitze meiner PHP-Datei platzieren, aber immer noch kein Glück. Irgendwelche Ideen? Vielen Dank.

+0

Warum kehren Sie eine Umleitung von AJAX? Was versuchst du zu machen? – Alexander

+0

Wenn Sie die Seite im Browser anzeigen. (ohne AJAX) Funktioniert die Weiterleitung? – hek2mgl

+0

@Alexander: Die Ajax-Funktion sendet ein Formular an eine PHP-Funktion, die das Formular verarbeitet, wenn das Formular erfolgreich verarbeitet wird, sollte die Seite umleiten, wenn es nicht funktioniert, wird ein Fehler über den Ajax-Erfolgsrückruf an ajax zurückgegeben und ich bearbeite das Fehler dort. –

Antwort

7

Ich glaube, wenn Sie Ajax Anfrage verwenden, müssen Sie Umleitungen innerhalb Javascript (wo die Anfrage gemacht wird) zu behandeln.

Wenn Ihr PHP-Skript der Location-Header der Antwort setzt, wenn Sie eine Ajax-Anforderung machen, wird es versuchen, die Ajax-Anforderung nicht die Seite umgeleitet, die im Browser angezeigt wird.

Sie können versuchen, den Fehler zu behandeln, wo Sie die Anfrage stellen (ich wäre spezifischer gewesen, wenn ich den Code sah, der die Anfrage macht).

können Sie versuchen, das Skript zu ändern, so dass es eine Art von Statuscode zurückgibt und dann diesen Status mit js/jquery handhaben und die Umleitung dort machen:

document.location=' *new url to redirect the browser to* ' 
+0

I habe funktioniert, indem ich die gewünschte URL über JSON zurückgebe und sie mit jQuery verarbeite. Vielen Dank. –