Javascript 获取:laravel 5.4中的(内部服务器错误)
我想在我的laravel项目中使用ajax搜索,但我在搜索时遇到了这个问题。我正在上传我的代码。你能告诉我问题出在哪里吗。 这是我的控制器代码:Javascript 获取:laravel 5.4中的(内部服务器错误),javascript,jquery,ajax,laravel,Javascript,Jquery,Ajax,Laravel,我想在我的laravel项目中使用ajax搜索,但我在搜索时遇到了这个问题。我正在上传我的代码。你能告诉我问题出在哪里吗。 这是我的控制器代码: 公共功能搜索(请求$Request) { 如果($request->ajax()) { $output=“”; $results=DB::table('SaveStudentResult')->其中('reg_number'、'LIKE'、'%'。$request->reg_id'%')-get(); 如果(结果) { foreach($result
公共功能搜索(请求$Request)
{
如果($request->ajax())
{
$output=“”;
$results=DB::table('SaveStudentResult')->其中('reg_number'、'LIKE'、'%'。$request->reg_id'%')-get();
如果(结果)
{
foreach($results作为$key=>$result)
{
$output.=''。
'.$result->id'。
'.$result->reg_number'.'。
'.$result->st_name'.'。
'.$result->email_ad'。
“.$result->department\u na.”。
“.$result->grade.”。
'';
}
返回响应(输出);
}
}
}
右拉维它期望在请求
对象上有一个reg\u id
,而您的ajax调用没有提供它。因此,将ajax调用调整为:
$.ajax({
var data = $("#reg_id").data().value;
type : 'GET',
url : '{{URL::to('index')}}',
data: {'reg_id': data},
datatype: 'JSON',
success: function (response) {
},
error: function (response) {
}
});
添加使用DB代码>位于控制器顶部。您的查询末尾有一个输入错误,应该是->get()
为了使代码清晰,可以清除一些方法:
public function search(Request $request)
{
if(!$request->wantsJson()){
abort(403);
}
$regId = json_decode($request->input('reg_id'));
if(empty($regId)){
return response('Bad request!', 400 );
}
$searchResults = DB::table('SaveStudentResult')->where('reg_number','LIKE','%'.$regId.'%')->get();
if($searchResults->count() == 0){
return response('No results found', 200);
}
return response(
$searchResults->map(function($result){
$output.='<tr>'.
'<td>'.$result->id.'</td>'.
'<td>'.$result->reg_number.'</td>'.
'<td>'.$result->st_name.'</td>'.
'<td>'.$result->email_ad.'</td>'.
'<td>'.$result->department_na .'</td>'.
'<td>'.$result->grade.'</td>'.
'</tr>';
return $output;
})
);
}
公共功能搜索(请求$Request)
{
如果(!$request->wantsJson()){
中止(403);
}
$regId=json_decode($request->input('reg_id'));
如果(空($regId)){
返回响应('Bad request!',400);
}
$searchResults=DB::table('SaveStudentResult')->其中('reg_number'、'LIKE'、'%'。$regId'%')->get();
如果($searchResults->count()==0){
返回响应(“未找到结果”,200);
}
返回响应(
$searchResults->map(函数($result){
$output.=''。
'.$result->id'。
'.$result->reg_number'.'。
'.$result->st_name'.'。
'.$result->email_ad'。
“.$result->department\u na.”。
“.$result->grade.”。
'';
返回$output;
})
);
}
请显示您收到的错误。您可以在storage/logs/laravel.log
中找到它。另外,请显示search
方法的路由。这是错误GET 500(内部服务器错误),这是路由:route::GET(“/index”SearchResultController@search");如果打开“网络”选项卡,单击“搜索”时,休眠状态是什么样子?@KaziBablu以及日志文件中的错误消息是什么?