gpt4 book ai didi

php - Ajax/PHP 值不会增加多次

转载 作者:行者123 更新时间:2023-11-28 20:29:59 25 4
gpt4 key购买 nike

我正在开发一个非常简单的投票系统,作为概念证明,我有一个带有 php 定义变量的 div,当单击按钮时该变量应该增加 1。到目前为止,我所做的一切都有效,但只有一次...为什么单击按钮时 votes 值不会继续上升?

这是我到目前为止的代码:

投票页面:

<?php $votes = 0 ?>

<script>
$(document).ready(function(){
$("#btn1").click(function()
{
var votes = document.getElementById("votes").innerHTML;

$.ajax({
type: "POST",
url: "ajax.php",
data: votes,
success: function(votes)
{
document.getElementById("votes").innerHTML = votes;
}
});
})
});
</script>
<div id="votes"><?= $votes ?></div>
<input type="button" id="btn1" value="vote!"/>

ajax.php:

<?php
echo $_POST["votes"] + 1;
?>

最佳答案

问题是,在您的服务器脚本中,您尝试访问特定的 POST 参数 - 名为 votes。但在客户端脚本中,您仅向服务器发送一个字符串(投票值),而不对其进行任何标记。

首先将 data: votes 行更改为 data: {votes: votes} 或类似内容;更正您的脚本,以便不设置 $_POST['votes'],它会发出错误信号:

if (! isset($_POST['votes'])) {
throw new Exception('No value for votes');
}
echo $_POST['votes'] + 1;

请注意,即使没有全能的 SO,您也会注意到这一点。 )看,如果没有设置 error_reporting 级别,原始代码应该触发 E_NOTICE(因为 $_POST['votes'] 未定义)太高。请记住,在开发中 error_reporting(-1) 行是您的 friend 。

关于php - Ajax/PHP 值不会增加多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16617769/

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