首页 > 解决方案 > Ajax 请求在控制台中显示状态为 200 但执行错误函数

问题描述

在我的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");
                }
     });
});


index.php文件中带有 idselect-name的 元素如下所示:

  <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替换的值的语句。我不知道为什么这不起作用。任何帮助,将不胜感激。先感谢您。 $selectedNameselectedName

编辑:-我在控制台中记录了错误,我看到:

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'];

标签: javascriptphpajax

解决方案


推荐阅读