【问题标题】:PHP variable inside AJAX data stringAJAX 数据字符串中的 PHP 变量
【发布时间】:2012-05-23 05:16:57
【问题描述】:
当我在下面运行 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;
}
});
【问题讨论】:
标签:
php
jquery
ajax
request
referenceerror
【解决方案1】:
试试
data: "slug=<?php echo $_GET['gt']; ?>,
或
data:{slug:"<?php echo $_GET['gt']; ?>"},
【解决方案2】:
你想要这样的东西:
data: "slug="+<?php echo json_encode($_GET['gt']); ?>,
或
data: "slug=<?php echo $_GET['gt']; ?>",
或使用 JavaScript 从查询中获取gt。
查看源代码以了解您的版本无法正常工作的原因。
无论您使用哪种方法,您都需要确保正确验证/转义输入。 $_GET 是不受信任的东西。
【解决方案3】:
你在这里为元素分配了一个变量,这就是它给你一个错误的原因。
尝试以下代码。
data: "slug=<?php echo $_GET['gt']; ?>",
这应该可以工作
【解决方案4】:
我希望这可以工作
data: { slug : <?php echo $_GET['gt']; ?> } ,
不需要引号