422 Ajax Laravel回应

时间:2018-07-19 12:31:49

标签: ajax laravel http-status-code-422

为什么我的Web应用程序出现422错误?我有以下脚本可以处理我的函数中的验证问题。

$(".test_uebergabe_route").click(function() {
                $.ajax({
                    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                    type: 'post',
                    url: "{{ route('request_group') }}",
                    data: {'groupid': groupid},
                    success: function (result) {
                        if(result == 'success'){
                            window.location.replace("{{ route('request_group_validation', ['success' => true]) }}"); 
                        }else{
                            window.location.replace("{{ route('request_group_validation', ['success' => false]) }}");
                        } 
                    },
                    error: function(result) {
                        const errors = result.responseJSON.errors.groupid;
                        $('.text-danger').html(errors[0]);
                    }
                });
            });

这是我的功能

   public function setGroupRequest(Request $request){

    $this->validate($request, [
        'groupid' => 'unique:groups_request,idgroups'
        ]);

    $groupid = $request->input('groupid');

    try{
        $groups_request = new GroupRequest();
        $groups_request->idgroups = $groupid;
        $groups_request->iduser = Auth::id();
        $groups_request->request_active = 1;
        $groups_request->save();

        $success = true;
    }catch(\Exception $e){
        $success = false;
    }

    if ($success) {
        return 'success';
    }else{
        return 'error';
    }
}

但是我仍然在Java脚本控制台中获得POST http://localhost:8000/home/grouprequest 422(无法处理的实体)。

我的错误处理出了什么问题?

1 个答案:

答案 0 :(得分:0)

Laravel允许您在其接受的字段上定义某些验证。如果您未通过这些验证,它将返回HTTP 422-无法处理的实体。