2016-06-16 72 views
2

unauthorized pageLaravel未经授权的页面时,AJAX请求发送

我正在做基于网络的游戏。游戏需要先登录,所以我像往常一样使用laravel auth :: register和auth :: login,并将中间件身份验证添加到每个页面,除了登录&注册页面。 然后使用smartupdater检查游戏状态,如果准备好或没有。

$("section").smartupdater({ 
    url  : urlCheckStatus, 
    data  : data, 
    dataType : 'json', 
    minTimeout: 2000 
}, function(response){ 
    var gameStatus = response.data.status; 

    if(gameStatus === 'start') 
    { 
     gameOn(); 
    } 
    else if(gameStatus === 'active') 
    { 
     pleaseWait(); 
    } 
    else if(gameStatus === 'stop') 
    { 
     backToMenu(); 
    } 
}); 

注册登录功能

public function register(Request $request) 
{ 
    $name = $request->input('username'); 

    $user = new User; 
    $user->name  = $request->input('username'); 
    $user->email = $name.'@abc.com'; 
    $user->password = bcrypt(Carbon\Carbon::now()); 
    $user->grade = $request->input('grade'); 
    $user->numb  = $request->input('numb'); 
    $user->save(); 

    Auth::login($user, true); 

    return redirect('menu'); 
} 

检查游戏状态功能

public function checkGameStatus() 
{ 
    $game_id = Request::input('game_id'); 
    $data = Game::find($game_id); 

    return response()->json([ 
     'data' => $data 
    ]); 
} 

但有时我被抛出到登录页面,因为错误401未授权。试图像上面的图像一样控制日志。

感谢

+0

你可以显示一些代码如何登录和注册用户? – TheFallen

+1

你能告诉我们你的ajax调用的响应吗? –

+0

@thefallen这个游戏很简单,我只需要他们的名字来存储到数据库,并从数据库轻松获得他们的名字。 –

回答

0

我看你是使用JavaScript与Laravel授权,按照Laravel文档API认证用javascript:

如果您使用的是不同的JavaScript框架,你应该 确定它被配置为向每个发出的请求发送X-CSRF-TOKEN和X-Requested-With标头号码 。

你能确保X-CSRF-TOKEN和X-Requested-With总是出现在你的头文件中。