AJAX 调用不起作用 - PHP、MySQL、jQuery/Ajax

摩西·巴灵顿

我有以下问题:

我想要完成的是:

  • 用户点击提交/图片类型按钮
  • 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();
}

?>

摩西·巴灵顿

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

我必须在我的 PHP 页面的末尾“包含”JS 脚本,以捕获我的 onsubmit 函数,因此禁用默认事件,即提交按钮,将我的表单和页面重新加载/POSTs 提交到另一个 PHP 文件。

现在一切正常

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章