在 ajax 调用后 echo 不显示任何值

echo not displaying any value after ajax call

请帮助我,我想使用 ajax 调用在 php echo 中显示值, 代码是 运行 没有错误。 当 select 字段中的 select 选项时,该值显示在控制台 console.log(id) 上, 当我使用 console.log(data).

时,我想在控制台上使用回显显示的值
<script>
$('#select-user-id').click(function() {
  var id = $(this).val();

  $.ajax({
    url: 'ajax.php',
    type: 'POST',
    data: {
      id: id
    },
    success: function(data) {
      console.log(id);
      console.log(data);
    }
  });
})
</script>

但是当我回显使用的值时,浏览器屏幕上没有显示。

$select_id = $_POST['id'];
echo "PHP: $select_id";

您需要做的是在成功时在跨度或其他 html 标签中分配值。

success: function(data) {
     yourSpan.value = data;
}

就像安兹提到的那样,您要做的是将值发送到标签并在那里显示。

<!-- Be sure that your jQuery file is added -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>  

<select name="select-user-id" id="select-user-id">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

//Add a div as a holder for the returned values from your AJAX file
<div class="displayData"></div>

<script>
$('#select-user-id').on('change', function() {
  var id = $(this).val();
  /* Also make sure that you have the correct path for your file  */
  $.ajax({
    url: 'ajax.php',
    type: 'POST',
    data: {
      "id": id
    },

    success: function(data) {
      $('.displayData').html(data);
    }
  });
});
</script>

您还可以将变量附加到如下字符串。

<?php
   $select_id = $_POST['id'];
   echo 'PHP: '.$select_id;
?>