首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 4 ajax注册

Laravel 4 ajax注册
EN

Stack Overflow用户
提问于 2014-04-29 10:27:51
回答 1查看 567关注 0票数 0

您好,我正在使用laravel 4和霓虹灯bootsrap主题的网页,我不能使ajax注册工作,请帮助。

代码语言:javascript
复制
        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);
                        }

这是它使用的javascript,我在setPercentage(89)上得到了一个控制台日志,但接下来的成功或错误警报不起作用。你认为错误出在ajax上,但我不知道为什么。

这是我的控制器函数:

代码语言:javascript
复制
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/Confide进行身份验证

EN

回答 1

Stack Overflow用户

发布于 2014-04-29 11:21:45

好的,问题是它是虚拟的东西:

在:

代码语言:javascript
复制
var token = $('input[name="_token"]');

更改为:

代码语言:javascript
复制
var token = $('input[name="_token"]').val();

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

另请更改:

代码语言:javascript
复制
baseurl + 'registro'

适用于:

代码语言:javascript
复制
baseurl + '/registro'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23354424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档