Laravel - Jquery Dynamic Drop Down выдает ошибку 500 внутренняя ошибка сервера - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь получить записи во втором раскрывающемся списке на основе значения, выбранного в первом раскрывающемся списке.Мои значения в первом выпадающем списке загружаются, но когда я выбираю случайное значение, я не получаю никаких значений во втором значении.Я проверил свою консоль в браузере, и у меня появляется сообщение об ошибке (внутренняя ошибка сервера 500).

Однако, когда это выполняется на локальном хосте, оно работает абсолютно нормально.Эта ошибка возникает только При работе на Live Server

У меня есть файл основной боковой панели, который содержит эту форму.и код 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');

Не уверен, как это работает налокальный хост а не на живом сервере.

скриншот ошибки: - enter image description here

Ответы [ 3 ]

0 голосов
/ 11 декабря 2018

Вам необходимо проверить файл .htaccess. любые синтаксические ошибки приведут к отображению сообщения 500 Internal Server Error.Чтобы убедиться, что неправильная конфигурация .htaccess является причиной ошибки 500 Internal Server, удалите или переименуйте файл .htaccess временно и проверьте.

0 голосов
/ 11 декабря 2018

Ошибка 500 означает, что у вас есть ошибка в вашем контроллере, вставьте ее в свой код JavaScript:

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

Итак, вы можете прочитать ошибку в консоли и опубликовать изображение в комментариях, чтобы исправитьэто.

0 голосов
/ 11 декабря 2018

Пожалуйста, отметьте это

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

В carFetch вы используете имя таблицы в качестве carlists

, но при получении вы используете имя таблицы в качестве carLists

Linux-сервер имеет значениечувствительный:)

$request->get('select');

до

$request->input('select');
...