【问题标题】:Ajax jQuery bring data from database without refreshAjax jQuery 从数据库中获取数据而不刷新
【发布时间】:2021-02-11 05:08:23
【问题描述】:

我正在开发一个喜欢/不喜欢的系统。为此,我不想刷新页面来做类似的事情,所以我正在执行一个非刷新 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 带来结果。我该怎么做?

【问题讨论】:

  • 这能回答你的问题吗? How do I refresh a DIV content? 在数据库中成功添加后,您可以使用 jquery load 重新加载特定元素。或者简单地模仿按钮上的更改并在将其保存在数据库中后手动更改数字 + 1。刷新时无论如何都会更新。

标签: javascript php jquery ajax


【解决方案1】:

您可以根据成功或失败通过以下任一方法获取结果。您可以找到更多详细信息here

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2015-05-31
    • 2017-05-02
    • 1970-01-01
    • 2013-05-27
    • 2018-07-06
    • 2016-12-01
    相关资源
    最近更新 更多