为什么 ajax 没有将我的 JS 变量发送到 PHP?

Why ajax doesn't send my JS variable to PHP?

我正在尝试将 JS 变量发送到 PHP 脚本(包含在我试图使 ajax 工作的页面中)

index.php

include 'PHP/display.php';
<button id="click" onclick="show();">Click !</button>

<script>
  function show(){
    var str = "Yes";
    $.ajax({
      method : 'post',
      url : 'PHP/display.php',
      data: {
        str : str
      },
      success: function(data) {
        console.log(data);
      }
    });
  }
</script>

display.php

<?php
  echo isset($_POST['str']) ? $_POST['str'] : "No";
?>

这一直显示“否”,但控制台显示我想要的“是”

这段代码是我第一次尝试 ajax,这就是为什么我尽量保持简单,但它不起作用。

我在 Whosebug 上找了好几个小时,但没有一个解决方案适合我。

也许我遗漏了什么,请帮助我:(

可以看到ajax调用的url属性和phpinclude一样,不同的是会一直执行到你点击按钮。 PHP就能收到data

的内容

您可以使用 jQuery 的 text 方法将调用响应分配为文本段落。

function show() {
  var str = "Yes";
  $.ajax({
    method: 'post',
    url: 'display.php',
    data: {
      str: str
    },
    success: function(data) {
      $('#response').text(data);
    }
  });
}
<p id="response"></p>

display.php

<?php
echo isset($_POST['str']) ? $_POST['str'] : "No";