我如何使用jQuery运行MySQL查询

How can I use jQuery to run MySQL queries?

本文关键字:MySQL 查询 运行 jQuery 何使用      更新时间:2023-09-26

是否可以使用jQuery运行MySQL查询?我试图模仿在SE网站上投票的功能。

SE上的投票计数器自动更新,而不需要重新加载页面(这是我目前拥有的,一个隐藏的表单,重新提交到当前页面,但在PHP上运行一个小块,更新数据库中问题的分数)。我假设正在使用Javascript/jQuery看到它是动态的。

我该怎么做?是否有一个库使它变得容易和简单(如PHP)?

您可以使用ajax调用服务器页面(PHP/ASP/ASP. html)。. NET/JSP),您可以在该服务器页面中执行查询。

http://api.jquery.com/jQuery.ajax/

<input type='button' id='btnVote' value='Vote' />
Javascript

此代码将在用户单击id为"btnVote"的按钮时执行。下面的脚本使用了jquery库中编写的"ajax"函数。它将发送一个请求到作为"url"属性值的页面(ajaxserverpage.aspx)。在这个例子中,我发送了一个名为"answerswer"的键的查询字符串值5。

 $("#btnVote").click(function(){     
    $.ajax({
            url: "ajaxserverpage.aspx?answer=5",
            success: function(data){
                alert(data)
             }
          });
  });

,在aspx页面中,您可以读取查询字符串(在本例中,answer=5)和构建查询并对数据库执行查询。您可以通过编写Response返回数据。用asp &asp.net)/echo在PHP中。无论返回的是什么都会返回到变量data中。如果查询执行成功,您可能会返回一条消息,如"投票捕获"或任何适合您的应用程序的消息。如果在try-catch块中捕获了错误,则返回相应的消息。

确保在构建查询之前对输入进行了正确的处理。我通常将我的功能分组,并将它们放入单个文件中。例如:我的Ajax页面处理用户相关的东西将有ValidateUser, RegisterUser等方法…

编辑:根据你的评论,

jQuery支持post也。下面是格式

 $.post(url, function(data) {
        alert("Do whatever you want if the call completed successfully")
 );

相当于

 $.ajax({
        type: 'POST',
        url: url,           
        success: function(data)
                  {
                    alert("Do whatever you want if the call completed successfully")
                  }           
       });

这应该是一个很好的阅读:http://en.wikipedia.org/wiki/Same_origin_policy

就是用你喜欢的语言写的几行。

Javascript

$.post('script.php', { id: 12345 }, function(data) {
    // Increment vote count, etc
});
PHP(简化)

$id = intval($_POST['id']);
mysql_query("UPDATE votes SET num = num + 1 WHERE id = $id");