Php laravel中间件在ajax请求url中不工作

Php laravel中间件在ajax请求url中不工作,php,jquery,ajax,laravel,middleware,Php,Jquery,Ajax,Laravel,Middleware,我喜欢使用ajax插入数据库并返回显示它。 我有像这样的ajax $.ajax({ method: 'POST', url: "{{ route('comments.store') }}", data: { comment: 1, comment_text: comment_text, post_id: post_id, "_token": "{{ csrf_token() }}" }); Url中的路由('comments.store)由中间件('auth'保护 在我的控制器中

我喜欢使用ajax插入数据库并返回显示它。 我有像这样的ajax

$.ajax({
 method: 'POST',
 url: "{{ route('comments.store') }}",
 data: {
 comment: 1,
 comment_text: comment_text,
 post_id: post_id,
 "_token": "{{ csrf_token() }}"
});
Url中的路由('comments.store)由中间件('auth'保护 在我的控制器中

public function __construct()
{
   $this->middleware('auth')->except(['index']);
}

public function store( Request $request ) {
   if(Auth::check()){
      if ( isset( $request->comment ) ) {
         $comment = new Comment( [
         'comment' => $request->comment_text,
         'user_id' => Auth::id(),
         'post_id' => $request->post_id
      ] );
      $comment->save();
      $comments = Comment::find( $comment->id );
     return response( $comments );
    }
}
return redirect()->route( 'home.post.show', $request->post_id );
}
当用户登录时,它正常工作,响应$comment行

但是,当用户未登录时,中间件不会将用户重定向到登录页面,并且它会响应错误“unauthenticated”


如何解决它需要帮助。谢谢您..

在jQuery Ajax中添加一个
错误
回调函数,以便在未经授权的情况下将用户重定向到登录页面

$.ajax({
    method: 'POST',
    url: "{{ route('comments.store') }}",
    data: {
        comment: 1,
        comment_text: comment_text,
        post_id: post_id,
        "_token": "{{ csrf_token() }}"
    },
    success: function (data) {

    },
    error : function (jqXHR, textStatus, errorThrown) {
        // User Not Logged In
        // 401 Unauthorized Response
        window.location.href = ' login page';
    }
});

您的中间件代码是什么?这是ajax请求。不会自动重定向到任何页面。您需要在success中检查条件,然后使用
窗口重定向。location