我知道这个问题已经被问了很多,但没有一个答案与我的情况有关,我有一个按钮,onclick它应该调用一个javascript函数发送一个php变量,而ajax会通过post调用一个php文件发送那个vriable和php文件更新我的表
所以这是onclick事件的第一个
<button class="button button6 " onclick="incrementclicks('<?php echo $id; ?>');">increment</button>
它应该将一个名为$ id的变量发送到javascript函数
<script type="text/javascript">
function incrementclicks(id) {
$.ajax({
url: "increment.php",
data: "id=" + id,
type: "POST"
});
}
</script>
和php文件increment.php(我100%肯定它连接到服务器就好了)
<?php
require_once 'dbconnect.php';
$db_handle = new DBController();
$id=$_POST["id"];
$q="UPDATE clicks SET linkclicks = linkclicks + 1 WHERE id = '".$id."'";
$result = mysql_query($q);
?>
它没有增加,我不明白我在这里做错了什么
答案 0 :(得分:0)
首先,您可以通过
在php上调试代码echo $id;
exit();
我的遗憾是你在那里遗失了一些东西..
答案 1 :(得分:0)
使用此方法的ajax来检查问题。如果发现错误,请在控制台中检查问题
$.ajax({
url: "increment.php",
type: "post", //send it through post method
data: {
id:id
},
success: function (response) {
alert("success");
},
error: function (xhr) {
//Do Something to handle error
alert("some error found");
}
});
注意:尝试在按钮上添加type =“button”以便不重新加载
<button class="button button6 " onclick="incrementclicks(5);" type="button">increment</button>
答案 2 :(得分:0)
如果有人有这样的未来问题,我只想回答这个问题
问题是我忘了在开头添加脚本src
<script src="https://code.jquery.com/jquery-2.1.1.min.js" type="text/javascript"></script>
添加后我的代码工作得很好:)