【问题标题】:GET ::(Internal Server Error) in laravel 5.4 [duplicate]laravel 5.4中的GET ::(内部服务器错误)[重复]
【发布时间】:2018-06-22 23:53:23
【问题描述】:

我想在我的 laravel 项目中使用 ajax 搜索,但是我在搜索这个时遇到了这个问题。我正在上传我的代码,请你告诉我问题出在哪里。 这是我的控制器代码:

   public function search(Request $request)
    {
      if($request->ajax())
      {
          $output="";
          $results = DB::table('SaveStudentResult')->where('reg_number','LIKE','%'.$request->reg_id.'%')-get();

          if($results)
          {
              foreach ($results as $key => $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 Response($output);
          }
      }
    }
这是我的javascript代码

  <script type="text/javascript">
      $('#reg_id').on('keyup',function(){
            $value=$(this).val();
            $.ajax({
                type : 'get',
                url    : '{{URL::to('index')}}',
                data :  {'index':$value},
                success:function(data)
                {
                    console.log(data);
                }
            });
      })
  </script>

【问题讨论】:

  • 请显示您遇到的错误。您可以在storage/logs/laravel.log 中找到它另外,请显示search 方法的路线。
  • 这是错误 GET university.com/index?index=1 500 (Internal Server Error)
  • 这是路由:Route::get("/index","SearchResultController@search");
  • 如果你打开网络标签,当你点击搜索时,休息是什么样子的?
  • @KaziBablu 以及日志文件中的错误消息是什么?

标签: javascript jquery ajax laravel


【解决方案1】:

正确的 laravel 它期待 request 对象上的 reg_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) {

      }
}); 

在控制器顶部添加use DB;。你的查询最后有错字应该是-&gt;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;
        })

    );

  }

【讨论】:

    猜你喜欢
    • 2019-05-12
    • 1970-01-01
    • 2018-05-03
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    相关资源
    最近更新 更多