如何在laravel中从控制器到ajax获得成功或失败响应?

问题描述

我想向烤面包机显示成功还是失败,所以我尝试了这段代码

$.ajax({
            type: "GET",dataType: "json",url: '{{ route('users.update.visit_clear') }}',data: {'visit_clear': visit_clear,'user_id': userId,'location': location,'cs_location': cslocation },success: function (data) {
                if (data.message != ""){
                    toastr.success(data.message);
                }
            }
            error: function (data) {
                    toastr.error(data.message1);
            }
        });

并且在控制器中我有条件

if($var <= 1){
return response()->json(['message' => 'User status updated successfully.' ]);
                }
                else{
                     return response()->json(['message1' => 'Visit Failed distance is too long' ]);
                }

如果我使用error:function不会响应我

解决方法

要进入error ajax回调,您必须返回http错误代码(例如:500、400等)。
您可以在https://en.wikipedia.org/wiki/List_of_HTTP_status_codes处检查不同的http错误代码。
您可以在status code响应中添加else作为第二个参数
例如:return response()->json(['message1' => 'Visit Failed Distance is too long' ],500);