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" );
});

最新更新