Ajax запрос показывает состояние 200 в консоли, но выполняет функцию ошибки - PullRequest
0 голосов
/ 05 марта 2020

В моем файле index.php есть следующий скрипт, который отправляет запрос ajax:

$('#select-name').on('change', function () {
    var selectedName = $(this).find('option:selected').val();
    $.ajax({
          type: "POST",
           url: "assets/php/selectCar.php",
          data: {
                   selectedName: JSON.stringify(selectedName)
                },
      dataType: "json",
   contentType: "application/json",
       success: function (data) {
                   $.each(data, function (i, value) { 
                        $('.car-model').append('<option value = "'+value+'">'+value+'</option>');
                    });
                },
         error: function () {
                    alert("error");
                }
     });
});


Элемент с идентификатором select-name в индексе . * 1031 Файл * выглядит следующим образом:

  <select name="car-name" id="select-name" class="form-control">
     <option value="select_make">Choose make</option>
     <?php 
         $stmt = "SELECT DISTINCT name FROM car_name";
         if ($result = mysqli_query($conn, $stmt)) {
            while($row = mysqli_fetch_array($result)){
                echo '<option value = "'.$row['name'].'">'.$row['name'].'</option>';
             }
         }
      ?>
  </select>

И оператор php в приведенном выше коде работает нормально и отображает элементы. selectCar.php, в который отправляется запрос, выглядит следующим образом:

<?php
    require 'db.php';
    $selectedName = $_POST['selectedName'];
    $stmt = "SELECT DISTINCT model FROM model WHERE id IN ( SELECT model_id FROM cars WHERE name_id IN ( SELECT id FROM car_name WHERE name = '".$selectedName."'))";

    $models = array();

    $result = mysqli_query($conn, $stmt);
    while($row = mysqli_fetch_array($result)){
        $models[] = $row['model'];
    }
    echo json_encode($models) ;
?>


Я проверил оператор sql, подставив значение $selectedName значением, которое я получаю, когда Я предупреждаю selectedName в сценарии. Я понятия не имею, почему это не работает. Любая помощь будет оценена. Заранее спасибо.

Редактировать: - Я зарегистрировал ошибку в консоли и вижу:

responseText: "<br />\n<b>Notice</b>:  Undefined index: selectedName in <b>/opt/lampp/htdocs/wabi-cars/assets/php/selectCar.php</b> on line <b>3</b><br />\n[]"

и строка 3 из selectCar.php равна $selectedName = $_POST['selectedName'];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...