2012-07-31 107 views
0

我想建立一个自定义wordpress ajax登录表单,但我无法得到它排序。这里是我的代码使用方法:WordPress的AJAX登录

HTML:

  <form class="well form-inline" id="login"> 
       <div class="rowmargin"> 
        <h4>Login</h4> 
       </div> 
       <div class="rowmargin"> 
        <input type="text" name="username" id="loginUsername" class="input-medium" placeholder="Username"> 
        <input type="password" name="password" id="loginPassword" class="input-medium" placeholder="Password"> 
       </div> 
       <a class="btn btn-primary" id="loginButton"><i class="icon-check icon-white"></i> Login</a> 
      </form> 

JS:

<script type="text/javascript"> 

     $(document).ready(function() { 

      $("#loginButton").click(function() {  

       var username = $('#loginUsername').val(); 
       var password = $('#loginPassword').val(); 
       var rememberme = "forever"; 
       var redirect = '<?php bloginfo('url'); ?>'; 

       var data = { 
        user_login:  username, 
        user_password: password, 
        remember:  rememberme, 
        redirect_to: redirect 
       } 

       $.ajax({ 
        url: '<?php bloginfo('url'); ?>/wp-login.php', 
        data: data, 
        type: 'GET', 
        dataType: 'jsonp', 
        success: function(result) { 
         if (result.success==1) { 
          alert("Ok!"); 
         } else { 
          alert("Not Ok!"); 
         } 
        } 
       }); 

      }); 

     }); 

     </script> <!-- Login Script ---> 

谁能告诉我我在做什么错在这里?

+0

正在发生的事情或你的错误? – 2012-07-31 16:22:03

+0

不返回任何消息。我正在使用控制台,我没有得到任何AJAX/JS错误。 – Andrei 2012-07-31 16:22:47

回答

0
<form class="well form-inline" id="login"> 
    <div id="message"></div> 
    <div id="loading" style="display:none;"></div> 
    <div class="rowmargin"> 
     <h4>Login</h4> 
    </div> 
    <div class="rowmargin"> 
     <input type="text" name="username" id="loginUsername" class="input-medium" placeholder="Username"> 
     <input type="password" name="password" id="loginPassword" class="input-medium" placeholder="Password"> 
    </div> 
    <a class="btn btn-primary" id="loginButton"><i class="icon-check icon-white"></i> Login</a> 
</form> 


jQuery(document).ready(function(){  
    jQuery('#loading').hide(); 
    jQuery("#loginButton").click(function() { 
     jQuery('#message').hide().html(''); 
     jQuery('#loading').hide(); 
     var input_data = jQuery('#login').serialize(); 
     var logUser = jQuery('#loginUsername').val(); 
     var logPass = jQuery('#loginPassword').val(); 

     if(logUser == '' && logPass != ''){ jQuery('#message').show().html('Your Username is empty!'); return false; } 
     if(logPass == '' && logUser != ''){ jQuery('#message').show().html('Your Password is empty!'); return false; } 
     if(logUser == '' && logPass == ''){ jQuery('#message').show().html('Your Username and Password is empty!'); return false; } 

     jQuery('#loading').show(); 
     jQuery.ajax({ 
      type: "POST", 
      url: "<?php echo site_url('wp-login.php','login_post'); ?>", 
      data: input_data, 
      success: function(msg) {          
       // login success. redirect users to some page. 
       jQuery(location).attr('href', '<?php echo home_url('/thank-you/'); ?>'); 

      }, 
      error: function(msg) { 
       // login error.     
       jQuery('#message').show(); 
       jQuery('#message').html("<?php _e('Your login is not correct. Please try again.'); ?>"); 
       jQuery('#loading').hide(); 
      } 

     }); 
     return false; 
    }); 
}); 
+1

我认为这是简单的方法 – 2015-02-24 06:47:03