是否可以使用 jQuery 运行 MySQL 查询?我正在尝试模拟在 SE 网站上投票的功能。
SE 上的投票计数器无需重新加载页面即可自动更新(这是我目前拥有的一种隐藏表单,可以重新提交到当前页面,但在 PHP 上运行一个小块来更新问题的分数在数据库中)。我假设这是使用 Javascript/jQuery 完成的,因为它是动态的。
我该怎么做?是否有使它变得简单易行的库(如 PHP)?
最佳答案
您可以使用 ajax 调用服务器页面 (PHP/ASP/ASP.NET/JSP ) 并在该服务器页面中执行查询。
http://api.jquery.com/jQuery.ajax/
HTML
<input type='button' id='btnVote' value='Vote' />
Javascript
当用户点击 ID 为“btnVote”的按钮时,该代码将被执行。下面的脚本利用了 jquery 库中编写的“ajax”函数。它将向作为“url”属性值(ajaxserverpage.aspx)的页面发送请求。在此示例中,我为名为“answer”的键发送查询字符串值 5。
$("#btnVote").click(function(){
$.ajax({
url: "ajaxserverpage.aspx?answer=5",
success: function(data){
alert(data)
}
});
});
在您的 aspx 页面中,您可以读取查询字符串(在本例中为 answer=5)和 构建查询并针对数据库执行它。您可以通过在 PHP 中编写 Response.Write(在 asp 和 asp.net 中)/echo 来返回数据。无论您返回什么,都将返回到可变数据。如果您的查询执行成功,您可能会返回一条消息,如“投票已捕获”或任何适合您的应用程序的消息。如果在您的 try-catch block 中发现错误,请返回一条消息。
确保在构建查询之前正确清理输入。我通常将我的功能分组并将它们放入一个文件中。例如:处理用户相关内容的我的 Ajax 页面将具有 ValidateUser、RegisterUser 等方法...
编辑:根据您的评论,
jQuery 支持帖子也。这是格式
$.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 - 如何使用 jQuery 运行 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598659/