用户名可用在Ajax中使用Laravel 5进行检查

时间:2016-03-16 06:34:35

标签: ajax laravel-5

如果我在loading.gif加载后输入用户名,我可以在我的注册表中查看用户名,但是我没有得到用户名的结果。给我任何建议

这是我的控制器:

public function name()
{
    $username = Input::get('username');
    $users = DB::table('user')
               ->where('username', $username)
               ->first(); 
    if ( $users !== null )
    {
        return true;
    }
         return false;
         return view('test/username');
}

这是我的路线:

Route::get('test/name', 'PageController@name');

这是我的刀片模板Ajax:

  <script type="text/javascript">

     $(document).ready(function(){
        $("#username").change(function(){
             $("#message").html("<img src='../images/loader.gif' /> checking...");


        var username=$("#username").val();
          //alert(username);
          $.ajax({
                type:"post",
                 dataType: "json",
                url :"{{URL::to('test/name') }}",
               data: {username: username},
                    success:function(data){
                    if(data==0){
                        $("#message").html("<img src='../images/yes.png' /> Username available");
                    }
                    else{
                        $("#message").html("<img src='cross.png' /> Username already taken");
                    }
                }
             });

        });

     });

1 个答案:

答案 0 :(得分:0)

  

ajax不响应控制器这是我的问题

这是因为您需要使用json方法从控制器向您的视图文件发送response()

尝试这种方式:

控制器:

public function name(Request $request)
{
    // your validation logic ..

    $userFound = User::find($request->input('username'))

    if($userFound !== null) {
        return response([
            'status'  => 'failed',
            'message' => 'User Not Found'
        ]);
    }

    return response([
        'status'  => 'success',
        'message' => 'User Found'
    ]);
}

然后更新您的success AJAX处理程序方法:

$.ajax({
    // ..

    success: function(receivedData) {
        console.log(receivedData);
    }

    // ..

});

希望这会帮助你。快乐的编码。欢呼声。