我正在通过 ajax 将一个变量从 javascript 传递到另一个 PHP 页面。我做不到。这是我到目前为止的代码。
<script>
function loadXMLDoc()
{
$.ajax({
type: "POST",
url: "update.php",
data: { value : masterdata },
success: function(data)
{
alert("success!");
}
});
}
$("button").on('click',function(){ loadXMLDoc(); });
</script>
masterdata 变量来自另一个 javascript 函数,我在其中全局声明了该变量,如下面的函数所示。
<script>
var masterdata;
$("[data-slider]")
.each(function () {
var range;
var input = $(this);
$("<span>").addClass("output")
.insertAfter(input);
range = input.data("slider-range").split(",");
$("<span>").addClass("range")
.html(range[0])
.insertBefore(input);
$("<span>").addClass("range")
.html(range[1])
.insertAfter(input);
})
.bind("slider:ready slider:changed", function (event, data) {
$(this).nextAll(".output:first")
.html(data.value.toFixed(2));
masterdata = data.value;
});
</script>
在我的 update.php 文件中,我尝试使用 $_REQUEST 访问变量。代码如下。
<?php
$uid = $_REQUEST['value'];
echo "Am I getting printed";
echo $uid;
// Do whatever you want with the $uid
?>
但是,如果我点击更新 按钮没有任何反应。我刚刚收到一条警告,提示我的 ajax 调用成功。有人可以帮帮我吗?
最佳答案
在您的成功函数中,您没有要求它显示返回的数据,这就是您只看到警报的原因,将其更改为:
success: function(data)
{
alert(data);
}
因为data
这里是你的请求返回的值
对于 php 部分,请记住一件事,只需调整您的 php 页面以显示您需要的数据,并记住您如何制作这些数据并不重要,使用 echo
或只是普通的 html,php 代码的结果就是您将在 ajax 变量中获得的结果。
如果你使用 JSON,你可以在 php 页面中做:
$uid = $_REQUEST['value'];
$x.uid = $uid;
$x.something = "something";
return $x;
这样你就可以在客户端拥有你需要的所有数据作为一个对象,然后你可以按照你喜欢的方式操作它,以一种更紧凑的方式,如果你想阅读更多关于话题
关于javascript - AJAX 将变量从 javascript 传递到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338230/