我的自定义ajax函数遇到了一些问题。我的控制台日志中有这样一条:“POST-MYSITEURL/wp-admin/admin-ajax.php 302-Found”。所以我的函数不起作用。。。
我真的不明白为什么。
我已经为前端开发了一个登录表单,它可以在我的本地服务器上正常工作,但不能在线工作。以下是我所做的:
function ajax_login_init(){
//First I register my scripts
wp_register_script(\'ajax-login-script\', get_template_directory_uri() . \'/js/ajax-login-script.js\', array(\'jquery\'),\'\',true );
wp_enqueue_script(\'ajax-login-script\');
//I give them variables
wp_localize_script( \'ajax-login-script\', \'ajax_login_object\', array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\' ),
\'redirecturl\' => \'/account\'
));
}
function allowAjaxLogin(){
//I allow the function
add_action( \'wp_ajax_nopriv_ajaxlogin\', \'ajax_login\' );
add_action( \'wp_ajax_priv_ajaxlogin\', \'ajax_login\' );
}
add_action( \'init\',\'allowAjaxLogin\' );
if (!is_user_logged_in()) {
add_action(\'init\', \'ajax_login_init\');
}
function ajax_login(){
// First check the nonce, if it fails the function will break
check_ajax_referer( \'ajax-login-nonce\', \'security\' );
// Nonce is checked, get the POST data and sign user on
$info = array();
$info[\'user_login\'] = $_POST[\'username\'];
$info[\'user_password\'] = $_POST[\'password\'];
$info[\'remember\'] = $_POST[\'remember\'];
$user_signon = wp_signon( $info, false );
if ( is_wp_error($user_signon) ){
echo json_encode(array(\'loggedin\'=>false, \'message\'=>__(\'Wrong username/password\')));
} else {
echo json_encode(array(\'loggedin\'=>true, \'message\'=>__(\'Success)));
}
die();
}
正如我所说,它在我的本地版本上运行良好,但不是在线版本,有人可以帮助我吗?