Laravel - JQuery Dynamic Drop Down выдает ошибку 500 внутренняя ошибка сервера

Я пытаюсь получить записи во втором Dropbox на основе значения, выбранного в первом Dropbox. Мое значение в первом Dropbox загружается, но когда я выбираю случайное значение, я не получаю никаких значений во втором значении. Я проверил консоль в браузере и получаю сообщение об ошибке (внутренняя ошибка сервера 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');

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

скриншот ошибки: - Laravel - JQuery Dynamic Drop Down выдает ошибку 500 внутренняя ошибка сервера

Пожалуйста, проверьте журнал laravel в папке storage/logs, он может дать вам более подробную информацию об ошибке.

nakov 11.12.2018 04:41

если вы используете сервер Windows ... попробуйте проверить строку подключения

Fraz Abbas 11.12.2018 04:44

@nakov Я проверил папку журналов, и нет файлов или файлов ошибок, которые необходимы для проверки журналов

user10345537 11.12.2018 05:08

Можете ли вы показать параметры сообщения, щелкнув запрос на публикацию

Shibon 11.12.2018 05:26
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
4
472
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Пожалуйста, проверьте это

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

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

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

Сервер Linux чувствителен к регистру :)

$request->get('select');

к

$request->input('select');

Я использую переменную $ cl и назвал ее carList->with('carLists', $cl); для получения записей в представлении. в представлении у меня: @foreach($carLists as $carMake) <option value = "{{$carMake->Make}}">{{$carMake->Make}} </option> @endforeach. Моя таблица данных известна как carList. Проблема в том, что он отлично работает на локальном хосте, но не работает на живом сервере.

user10345537 11.12.2018 05:05

Да, индекс (home.blade.php) загружается нормально. Первый раскрывающийся список также работает нормально, но когда я выбираю второй раскрывающийся список, он становится пустым.

user10345537 11.12.2018 05:12

да, у меня есть, это в коде `$ carLists = DB :: table ('carlists')` вместо $ data я использовал $ carList. вернуть записи, затем отправить их в другую функцию (индекс) в переменной и вернуть в представление. Он отлично работает на Localhost, но не на живой сервер

user10345537 11.12.2018 05:15

Вы вызываете функцию fetch () через вызов ajax, он отправит ответ, вы можете увидеть его в консоли, нажав f12 на вкладке сети ... какая у вас ошибка в консоли

Shibon 11.12.2018 05:18

ошибка в консоли 500 (внутренняя ошибка сервера)

user10345537 11.12.2018 05:19

эта ошибка возникает, когда я выбираю значение в первом раскрывающемся списке

user10345537 11.12.2018 05:20

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

user10345537 11.12.2018 05:21

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

Я уверен, что файл .htaccess в порядке. потому что через мою cPanel я скачал и установил пакет. все мои другие маршруты работают нормально. Ошибка 500, показывающая, когда действие срабатывает в первом раскрывающемся списке.

user10345537 11.12.2018 05:18

$ select = $ request-> post ('выбрать'); $ value = $ request-> post ('значение'); $ зависимый = $ запрос-> сообщение ('зависимый'); Не уверен, но попробуй с этим ..

Jayesh Naghera 11.12.2018 05:23

Я попытался изменить путь от публикации к публикации, но все еще не работает. Ошибка, которую я получил: Не удалось загрузить ресурс: сервер ответил статусом 500 (внутренняя ошибка сервера)

user10345537 11.12.2018 05:31

Подскажите, пожалуйста, в чем проблема (что вы видели в console.info (результат))?

Jayesh Naghera 11.12.2018 05:42

Привет, спасибо за помощь, но я понял проблему. это была глупая ошибка. С учетом регистра, как упоминалось ранее @shibon

user10345537 11.12.2018 05:43
Ответ принят как подходящий

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

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

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

Другие вопросы по теме