通过ajax发送php请求onclick

时间:2016-09-28 10:10:57

标签: javascript php mysql ajax post

我知道这个问题已经被问了很多,但没有一个答案与我的情况有关,我有一个按钮,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);
?>

它没有增加,我不明白我在这里做错了什么

3 个答案:

答案 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>

添加后我的代码工作得很好:)