没有刷新的SQL查询

时间:2015-07-28 00:30:16

标签: php jquery ajax

我已经阅读了所有相关的发布,观看过的视频,并阅读了教程......但我仍然无法弄清楚这一点。我只是想在不刷新的情况下运行mysqli_query插入。

没有输入,没有变量,只是没有刷新的预定义sql插入。

以下是主要文件:

<html>
    <head>
        <script src="inc/scripts/jquery-1.11.3.min.js"></script>
        <script>


                $("#click").click( function()
            {
                $.ajax({
                url: "click.php",
                type: 'POST',
                success: function(result) { 
                //finished
            }
            });
            });

        </script>
    </head>
    <body>
        <input type="button" id="click" value="Click">
    </body>
</html>

Click.php(已经独立测试):

<?php 
$db = mysqli_connect("localhost","root","","mytable") 
or die("Error " . mysqli_error($db));

mysqli_query($db,"INSERT INTO items VALUES 
('','test','test','total test','test','test','test','test')");
?>  

这让我发疯了...我已经阅读过教程并观看了很多关于ajax的视频......但我无法弄清楚这一点。 谢谢你的任何建议。

4 个答案:

答案 0 :(得分:1)

To refresh a part of a page you got to bind the success function to a div in the html so add a div with an Id

<div id="myDiv"></div>

And then

$('#like$id').click(function()
    {
    $.ajax({
    url: 'inc/scripts/liker_ajax.php?like=$id',
    type: 'GET',  
    success:function(result){   
       $('#like$id').addClass('green');  
       $('#dislike$id').removeClass('red');    
       $('#myDiv').html(result); 
    } 
    });
    }); 

答案 1 :(得分:0)

在绑定元素之前绑定事件$('#click').click()(因为$('#click')尚未加载)。

只需将带有点击装订事件的<script>标记移动到输入按钮下方的<body>,它就会按预期运行。

您可能还想包装一个jQuery文档就绪的机箱,如:

$(function() {

});

确保在DOM准备就绪时运行。

答案 2 :(得分:0)

试试这个。

<html>
    <head>
        <script src="inc/scripts/jquery-1.11.3.min.js"></script>
        <script>


                function runAjax()
            {
                $.ajax({
                url: "click.php",
                type: 'POST',
                success: function(result) { 
                //finished
            }
            });


        </script>
    </head>
    <body>
        <input type="button" id="click" onclick="runAjax()" value="Click">
    </body>
</html>

答案 3 :(得分:0)

当元素未进行分析时,您将事件绑定到元素。 你有两个选择。

  • 将脚本块移动到元素后面的body标记的末尾。
  • $(document).ready(function() { // your code here });
  • 下的脚本块中包含您的代码

如果出现任何错误,还可以使用开发人员工具下的控制台选项卡查找根本原因。