javascript - Ajax jQuery 从数据库中获取数据而不刷新
问题描述
我正在研究一个喜欢/不喜欢的系统。为此,我不想刷新页面来做类似的事情,所以我正在执行一个非刷新 PHP 脚本,它使用 jQuery 和一个表单:
<form action="<?php echo ROUTE; ?>/dislike.php" id="dislike-form" method="POST">
<button id="dislike-submit">
<i id="dislike" class="fa fa-thumbs-o-down" aria-hidden="true"></i>
</button>
</form>
如您所见,它的作用是dislike.php
。在该文件上,此代码已完成:
$sentence = $connection->prepare("
UPDATE test_likes SET dislikes = dislikes + 1
");
$sentence->execute();
在这种情况下,我们将被重定向到dislike.php
,但要停止重定向并在不重新加载页面的情况下执行 SQL 查询,我将其添加到与上述表单相同的文件中:
<script>
$('#dislike-form').submit(function(){
return false;
});
$('#dislike-submit').click(function(){
$.post(
$('#dislike-form').attr('action'),
$('#dislike-form :input').serializeArray(),
);
});
</script>
因此,一旦执行查询,它确实会更新数据库,但我想在完成后使用 jQuery 或 AJAX 带来结果。我怎样才能做到这一点?
解决方案
您可以根据其成功与否通过以下任一方法获得结果。您可以在此处找到更多详细信息。
// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
$.post( "example.php", function() {
alert( "success" );
})
.done(function( data ) {
alert( "Data Loaded: " + data );
});
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});
推荐阅读
- node.js - 如何仅检索存储在我的 mongo 数据库中的原始数据?
- reactjs - 我们可以修改创建反应应用程序以在保存时创建应用程序的构建
- vega-lite - Vega-Lite:是否可以将图像作为折线图中的标签?
- unity3d - 我的角色敏感。Y 轴工作但不是我的 X 轴
- c# - 除非首先枚举标头,否则 .NET Core HttpContext.Request.Headers.Remove() 不起作用
- javascript - 条形图:如何更新图表?
- reactjs - 如何创建滚动过渡?
- reactjs - 我想为选项添加不同的颜色以在 react-big-calendar 中显示更多链接
- python-3.x - Django Restframework 上的 ParseError
- python - 当我翻转 x 和 y 输入时,scipy 的正交距离回归(ODR)不收敛