Ajax jQuery membawa data dari database tanpa refresh

Oct 29 2020

Saya sedang mengerjakan sistem suka / tidak suka. Untuk itu, saya tidak ingin menyegarkan halaman untuk melakukan hal serupa, jadi saya menjalankan skrip PHP non-refresh, ini menggunakan jQuery dan formulir untuk itu:

<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>

Seperti yang Anda lihat, aksinya adalah dislike.php. Di file itu, kode ini selesai:

$sentence = $connection->prepare("
  UPDATE test_likes SET dislikes = dislikes + 1
");
$sentence->execute();

Dalam hal ini, kita akan dialihkan ke dislike.php, tetapi untuk berhenti mengarahkan dan mengeksekusi kueri SQL tanpa memuat ulang halaman, saya menambahkan ini pada file yang sama dengan formulir di atas:

<script>
$('#dislike-form').submit(function(){
  return false;
});

$('#dislike-submit').click(function(){ $.post( 
    $('#dislike-form').attr('action'), $('#dislike-form :input').serializeArray(),
  );
});
</script>

Jadi begitu kueri dijalankan, itu memperbarui database, tetapi saya ingin membawa hasilnya dengan jQuery atau AJAX setelah selesai. Bagaimana saya bisa melakukan ini?

Jawaban

MrKhan Oct 29 2020 at 11:33

Anda bisa mendapatkan hasil di salah satu metode berikut berdasarkan apakah berhasil atau gagal. Anda dapat menemukan detail selengkapnya di sini .

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