AJAX 数据字符串中的 PHP 变量


PHP variable inside AJAX data string

当我运行下面的 AJAX 调用时,我得到了Uncaught ReferenceError: bierta (or whatever the URL var is) is not defined。我该如何解决这个问题?

$.ajax({
  type: "GET",
  async: false,
  url: "get-single-marker.php",
  data: "slug="+<?php echo $_GET['gt']; ?>,
  dataType: "json",
  success: function(res) {
    data = res;
  }
});

尝试

data: "slug=<?php echo $_GET['gt']; ?>,

data:{slug:"<?php echo $_GET['gt']; ?>"},

你想要这样的东西:

data: "slug="+<?php echo json_encode($_GET['gt']); ?>,

data: "slug=<?php echo $_GET['gt']; ?>",

或者使用 JavaScript 从查询中获取gt

查看源代码以了解您的版本不起作用的原因。

无论使用哪种方法,都需要确保正确验证/转义输入。 $_GET是不可信的东西。

您在此处为元素分配一个变量,这就是它给您错误的原因。

请尝试以下代码。

data: "slug=<?php echo $_GET['gt']; ?>",

这应该有效

我希望这可能有效

data: { slug : <?php echo $_GET['gt']; ?> }  ,

引号不是必需的