私はフォームデータを投稿するためにajaxを使っています。最後に私はホームページにリダイレクトしたいです。私は次のコードを試しています、それは動作しません。エラー302が返されます。次の関数にリダイレクトする方法を教えてください。ありがとう。
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;
}
AJAX要求はバックグラウンドで実行されます。ここでのリダイレクトはメインページには影響しません。そして302はエラーではなく、単なるステータスコードです。
AJAXレスポンスは、URLとステータスコードを呼び出しページに返すか、または1のような番号だけを返します。その後、呼び出しページでリダイレクトを処理します。
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;
}
);
});