gpt4 book ai didi

javascript - php 不显示来自 AJAX 的变量

转载 作者:行者123 更新时间:2023-11-28 11:53:46 24 4
gpt4 key购买 nike

我试图将一个变量从 javascript 发布到同一个 php 页面。这是代码:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
</head>
<body>

<?php echo 'Result is '; if (isset($_GET['testing'])) { echo $_GET['testing']; } ?>
<?php $thisPage = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>

<script>
$(document).ready(function() {
$('#testing123').on('change',function () {
var testing = "confirmed";
$.ajax({
type: "GET",
url: "<?php echo $thisPage; ?>",
data: testing,
success: function() { $('#showresult').html("success"); }
})
});
});
</script>

<form>
<select id="testing123">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

<div id="showresult"></div>

</body>
</html>

我也尝试过使用 POST,但在 php 中没有出现。还尝试使用单独的 php 文件并使用 include_once() 但仍然不起作用。

我是否缺少要加载的文件?

最佳答案

问题是您发送的字符串不是键值对。您可以发送一个字符串(无论如何,这就是屏幕后面发生的情况),但它必须是由正确编码的键值对组成的有效查询字符串。

发送对象并让 jQuery 处理编码会更容易:

    $('#testing123').on('change',function () {
var testing = "confirmed";
$.ajax({
type: "GET",
url: "<?php echo $thisPage; ?>",
data: testing,
success: function() { $('#showresult').html("success"); }
})
});

会变成这样:

    $('#testing123').on('change',function () {
// send key - value pairs
var testing = {'testing': "confirmed"};
$.ajax({
type: "GET",
url: "<?php echo $thisPage; ?>",
data: testing,
success: function() { $('#showresult').html("success"); }
})
});

编辑:要将 php 脚本的结果返回到页面上,您需要使用传递给 success 函数的变量:

...
success: function(output_from_php_script) {
$('#showresult').text(output_from_php_script);
}

另请注意,发布到在 ajax 调用中生成页面的原始页面并不是很方便:它将返回您不需要的大量 html(整个页面...)。

您最好编写一个单独的脚本来处理您的 ajax 调用,并仅返回(echo out...)您需要的内容。

关于javascript - php 不显示来自 AJAX 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com