我已经在网上搜索了,但是大多数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);
}
}
任何帮助或指导将不胜感激。
答案 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}}