Laravel Ajax“ GET”不断导致500错误

时间:2019-12-06 19:32:08

标签: ajax laravel

我已经在网上搜索了,但是大多数500错误往往是针对“ POST” ajax类型的。 我正在尝试使用Ajax方法从服务器中获取一些数据。

我的脚本如下

  <script type="text/javascript">             
       function getuserinfo(id) {            
           var userID = id;
           console.log(userID);
           if(userID) {
            $.ajax({
                url: '/guestinfo/ajax/'+userID,
                type: "GET",
                dataType: "json",
                success:function() {                        
                     $('#infoModal').modal('show');  
                }                  
            });
        }

    };

 </script>

我的路线如下

Route::get('/guestinfo/ajax/{guest_id}','Controller\Control@getInfo');

我的控制器如下

public function getInfo($id)
{

    if($request->ajax())
    {
        $guestid = $id;

        $guest = Guest::where('id', '=', $guestid)->firstOrFail();

        return json_encode($guest);
    }

}

Error log from console

任何帮助或指导将不胜感激。

2 个答案:

答案 0 :(得分:0)

您应该检查日志文件,以便始终可以真正看到导致500错误的原因。

仅通过关闭已粘贴的代码,您就尝试将未定义的变量用作对象:

$request->ajax()

该变量$request在该方法的范围内未定义。

答案 1 :(得分:0)

您应使用return return json_encode($guest);而不是$request来返回json数据

错误是因为未定义Request $request,它应该是方法中public function getInfo(Request $request, $id) { if($request->ajax()) { $guestid = $id; $guest = Guest::where('id', '=', $guestid)->firstOrFail(); return response()->json($guest); } } 的实例。

{{1}}