我有一个php文件,目录为"JqueryPHP/HighestBid.php“。我所要做的就是能够将javascript变量从一个文件"views/AuctionPage.php“发送到另一个文件"JqueryPHP/HighestBid.php”。
然后,我想将一个值从"JqueryPHP/HighestBid.php“回显到id为"price”的span标记中,回显到"views/AuctionPage.php“中。
问题是,当我加载页面"views/AuctionPage.php“时,它显示了返回值为"hi”的警报,但文本应该在span标记之间输出,它告诉我$POST数组中的索引未定义。
//JS views/AuctionPage.php
<script>
$(document).ready(function() {
var auc = "hi";
$.ajax({
url: "JqueryPHP/HighestBid.php",
method: "POST",
data: {'auctionid': auc },
success: function (result) {
alert("result: " + result);
}
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
setInterval(function () {
$('#price').load('JqueryPHP/HighestBid.php')
}, 333);
});
</script>
//HTML views/AuctionPage.php
<h4 class="price">Highest bid : <span id="price"></span></h4>
//PHP FILE "JqueryPHP/HighestBid.php"
<?php
$auctionid = $_POST['auctionid'];
echo $auctionid;
?>
当我去掉了"JqueryPHP/HighestBid.php“中的$POST数组,只需为其分配一个普通的字符串。
<?php
$auctionid = "hi";
echo $auctionid;
?>
文本在span标记之间输出,这也是假设的,所以我在将变量发送到另一个页面时遇到了问题,我不知道为什么。我已经尝试了许多方法来让它工作,下面是关于堆栈溢出的例子,但都没有成功。
发布于 2018-08-28 05:35:52
这一行:
$('#price').load('JqueryPHP/HighestBid.php')
使用GET加载JqueryPHP/HighestBid.php
脚本,这是另一个与AJAX脚本完全独立的请求,这就是为什么$_POST
超级全局为空的原因。您需要做的是更改AJAX调用的success
函数中的span
:
$.ajax({
url: "JqueryPHP/HighestBid.php",
method: "POST",
data: {'auctionid': auc },
success: function (result) {
// alert("result: " + result);
$('#price').html(result);
}
});
这就给出了你需要的结果。删除整个setInterval
代码,您根本不需要它。
https://stackoverflow.com/questions/52047056
复制相似问题