我有以下问题:

我想要完成的是:


用户单击提交/图像类型按钮
Ajax调用处理提交,调用另一个PHP脚本以更新MySQL表中的记录,所有这些都无需重新加载页面(显然)


我的PHP代码在没有AJAX的情况下工作正常,因为它将重新加载并更新记录。但是ajax调用无法正常工作和/或返回任何错误。

我的代码:



	$(function() {

$('#like_form').submit(function(event) {
    event.preventDefault(); // Preventing default submit button

    var formEl = $('#like_form');
    var submitButton = $('input[type=submit]', formEl);

    $.ajax({
	  async: true,
      type: 'POST',
      url: formEl.prop('action'),
      accept: {
        javascript: 'application/javascript'
      },

      beforeSend: function() {
        submitButton.prop('disabled', 'disabled');
      }
    }).done(function(data) {
      submitButton.prop('disabled', false);
	   $("#like").fadeOut();
	   $("#like").fadeIn();

    });
  });
});

<!-- LIKE een gebruiker -->
   <form action="" id="like_form" method='POST' enctype="multipart/form-data">
      <input onmouseover="this.src='img/heart2.png'" onmouseout="this.src='img/heart.png'" name='like' id="like" src='img/heart.png' type="image" />
   </form>





我的PHP(以防万一):



<?php
include_once "dbconnection.php";

//if like button (submit button) clicked
if ($_POST){
$conn = DatabaseConnection::getConnection();
$sql = "UPDATE dating_members
SET likes = likes + 1
WHERE member_id = 3";
$stmt = $conn->prepare($sql);
$stmt->execute();
}

?>

最佳答案

我想出了问题所在,有点傻,我没注意到,但迟到总比没有好。

为了赶上我的onsubmit函数,我不得不在PHP页面末尾``包含''JS脚本,因此禁用了默认事件(也就是提交按钮),将我的表单和页面重新加载/ POST提交到另一个PHP文件。

现在一切都很好

08-04 17:31