2014-04-29 72 views
0

你好,我使用laravel 4和霓虹灯靴主题的网页,我不能使ajax注册工作,请帮助。Laravel 4 ajax注册

 neonRegister.setPercentage(98, function() 
       { 
       //if i console log here i get the log/ 
        var username = $("input#username").val(); 
        var password = $("input#password").val(); 
        var email = $("input#email").val(); 
        var token = $('input[name="_token"]'); 

        var dataString = 'username='+ username + '&_token=' + token +'&email=' + email + '&password=' + password ; 

        // Send data to the server 
        $.ajax({ 
         url: baseurl + 'registro', 
         method: 'POST', 
         data: dataString, 
         error: function() 
         { 
          alert("An error occoured!"); 
         }, 
       //I never get the success alert or the error alert 
         success: function(data) 
         { 
          if(data.status == 'success'){ 
           alert("Thank you for subscribing!"); 
          }else if(data.status == 'error'){ 
           alert("Error on query!"); 
          } 
          // Form is fully completed, we update the percentage 
          neonRegister.setPercentage(100); 


          // We will give some time for the animation to finish, then execute the following procedures  
          setTimeout(function() 
          { 
           // Hide the description title 
           $(".login-page .login-header .description").slideUp(); 

           // Hide the register form (steps) 
           neonRegister.$steps.slideUp('normal', function() 
           { 
            // Remove loging-in state 
            $(".login-page").removeClass('logging-in'); 

            // Now we show the success message 
            $(".form-register-success").slideDown('normal'); 

            // You can use the data returned from response variable 
           }); 

          }, 1000); 
         } 

这it's它使用的JavaScript,我在setPercentage(89)得到一个控制台日志,但成功或错误警报是随之而来的无法工作。你认为这是错误的ajax,但我不知道为什么。

这里的我的控制器功能:

public function store() 
{ 
    $user = new User; 

    $user->username = Input::get('username'); 
    $user->email = Input::get('email'); 
    $user->password = Input::get('password'); 


    // Save if valid. Password field will be hashed before save 
    $user->save(); 

    if ($user->id) 
    { 
     $response_array['status'] = Lang::get('confide::confide.alerts.account_created') . ' ' . Lang::get('confide::confide.alerts.instructions_sent'); 

     // Redirect with success message, You may replace "Lang::get(..." for your custom message. 
     echo json_encode($response_array); 
    } 
    else 
    { 
     // Get validation errors (see Ardent package) 
     $response_array['status'] = $user->errors()->all(':message'); 

     echo json_encode($response_array); 
    } 
} 

我使用zizaco /倾诉的认证

+0

你看到控制台上的错误? –

+0

不,控制台100%清洁 –

+1

使用'dd(json_encode($ response_array))'来调试。 –

回答

0

好的问题it's假的东西:

在:

var token = $('input[name="_token"]'); 

更改为:

var token = $('input[name="_token"]').val(); 

它没有得到输入的值,所以它没有通过csrf。

而且改变:

baseurl + 'registro' 

为:

baseurl + '/registro'