使用 ajax 修改 laravel 中的数据时出现错误 500

Error 500 while modify data in laravel with ajax

我在做一些更改数据时得到 Error 500 并在 Laravel 7

中使用 ajax 时更新它

这是ajax代码:

$(document).ready(function (){
        $('#likePost').click(function (e){
            var post_id = $('#post_id').val();
            e.preventDefault();
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });
            $.ajax({
                type : 'POST',
                url : '{{ url('/ajax-post-like') }}',
                data: { request: post_id },
                success: function(response)
                {
                    console.log(response);
                }
            });
        });
    });

CSRF 令牌已检查且有效! 路线检查和它的工作! 当代码为 :

时,我可以从控制器获取数据
   public function PostLike(Request $request)
{
    $post = Post::find($request);
    return response()->json($post);
}

但是当我尝试 return 这样的数据时它不起作用 :

    public function PostLike(Request $request)
{
    $post = Post::find($request);
    $like = $post->like_count;
    return response()->json($like);
}

并且当使用 $post->like_count 时,在控制台中得到 Error 500。 我如何使用 ajax 和更新 like_count

的数据库

你应该得到请求的密钥:

     public function PostLike(Request $request)
     {
       $post = Post::find($request['request']);
       $like = $post->like_count;
       return response()->json($like);
    }

您应该在 Find 命令中定义 post id。 请更改为:

 public function PostLike(Request $request)
     {
       $post = Post::find($request->post_id);
       $like = $post->like_count;
       return response()->json($like);
    }

在您致电 ajax 时发送 post_id