wake-up-neo.com

die Umleitung funktioniert nicht in der Ajax-Funktion

Ich benutze Ajax, um die Formulardaten zu veröffentlichen. Am Ende möchte ich auf die Homepage umleiten. Ich versuche folgenden Code, es funktioniert nicht. Es gibt Fehler 302 zurück. Wie kann ich in der folgenden Funktion umleiten? Vielen Dank.

add_action('wp_ajax_nopriv_custom_register', 'custom_register');
add_action('wp_ajax_custom_register', 'custom_register');

function custom_register(){

    //process

    wp_redirect( home_url() );
    exit;
}
2
enam

Die Anforderung AJAX wird im Hintergrund ausgeführt. Weiterleitungen hier wirken sich nicht auf die Hauptseite aus. Und 302 ist kein Fehler, es ist nur ein Statuscode.

Ihre Antwort AJAX sollte entweder die URL und den Statuscode an die aufrufende Seite oder nur eine Nummer wie 1 zurückgeben. Dann behandeln Sie die Umleitung auf der aufrufenden Seite:

jQuery( document ).ready( function( $ ) {
    var url = '<?php echo home_url(); ?>';
    $( '#ajaxtrigger' ).on( 'click',
        function() {
            $.post( ajaxurl, {}, function( response ) {
                if ( 1 == response )
                    top.location.replace(url);
            });
            return false;
        }
    );
});
4
fuxia