Laravel - Jquery 动态下拉菜单给出错误 500 内部服务器错误

Laravel - Jquery Dynamic Drop Down gives error 500 internal server error

我正在尝试根据第一个保管箱中 selected 的值获取第二个保管箱中的记录。我在第一个保管箱中的值正在加载,但是当我 select 一个随机值时,我在第二个值中没有得到任何值。我在浏览器中检查了我的控制台,我收到错误显示(500 内部服务器错误)。

然而,当它在本地主机上运行时,它工作得非常好。此错误发生 仅当 运行 在实时服务器上

我有一个主边栏文件,其中包含此表格。 ajax 代码是

    $(document).ready(function(){

     $('.dynamic').change(function(){
      if($(this).val() != '')
      {
       var select = $(this).attr("id");
       var value = $(this).val();
       var dependent = $(this).data('dependent');
       var _token = $('input[name="_token"]').val();
       $.ajax({
          url:"{{ route('pagescontroller.fetch') }}",
        method:"POST",
        data:{select:select, value:value, _token:_token, dependent:dependent},
        success:function(result)
        {
         $('#'+dependent).html(result);
        }

       })
      }
     });
)};

我在控制器中的代码:-

public function index(){
  $pc = $this->getPostcodes();
  $cl = $this->carFetch();
  return view('home')->with('postcodes', $pc)->with('carLists', $cl);
 }

public function getPostcodes(){
     $postcodes =  DB::table('postcodes')
              ->get();

            return $postcodes;
}

public function carFetch(){
    $carLists = DB::table('carlists')
            ->groupBy('Make')
            ->get();
            return $carLists;
}


      function fetch(Request $request)
      {
       $select = $request->get('select');
       $value = $request->get('value');
       $dependent = $request->get('dependent');
       $data = DB::table('carLists')
         ->where($select, $value)
         ->groupBy($dependent)
         ->get();
       $output = '<option value="">Select '.ucfirst($dependent).'</option>';
       foreach($data as $row)
       {
        $output .= '<option value="'.$row->$dependent.'">'.$row->$dependent.'</option>';
       }
       echo $output;
      }

我的路线:-

Route::get('/', 'PagesController@index')
Route::post('sidebar/fetch', 'PagesController@fetch')->name('pagescontroller.fetch');

不确定它在本地主机上的工作方式,而不是在实时服务器上的工作方式。

错误截图:-

请检查这个

DB::table('carlists')
 (or)
DB::table('carLists')

在 carFetch 中,您正在使用 table 名称作为 carlists

但在 fetch 中你使用 table 名称作为 carLists

Linux 服务器区分大小写:)

$request->get('select');

$request->input('select');

您需要检查 .htaccess 文件。任何语法错误都会导致显示 500 Internal Server Error 消息。要确认 .htaccess 配置错误是否是 500 内部服务器错误的原因,请暂时删除或重命名 .htaccess 文件并检查。

500 错误意味着您的控制器有错误,将其放入您的 JavaScript 代码中:

...
success:function(result)
{
    $('#'+dependent).html(result);
},
error: function(result) {
    console.log(result);
}
...

因此,您可以在控制台中阅读错误并post评论中的图片进行更正。