【问题标题】:AJAX call not working - PHP, MySQL, jQuery/AjaxAJAX 调用不起作用 - PHP、MySQL、jQuery/Ajax
【发布时间】:2017-04-22 13:27:53
【问题描述】:

我有以下问题:

我想要完成的是:

  • 用户点击提交/图像类型按钮
  • 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 脚本以更新(增加)mysql 表中的值。提交按钮是我表单中唯一的表单元素。不需要其他输入。
  • 你为什么会有一个没有数据的帖子?违背了使用 post 方法的目的。什么是请求状态?你说你没有看到错误,但你没有任何 ajax 错误处理
  • 它将来会有一个隐藏的输入字段,它将 $_GET 用户 ID 并将其发布到我的 PHP 脚本中,现在,我已经硬编码了 ID 只是为了测试功能,但是那里与 AJAX 调用一样,没有它,一切正常。
  • 不确定是否相关,但 submitButton 使用选择器 'input[type=submit]' 但 HTML 中的类型为 type="image"

标签: javascript php jquery mysql ajax


【解决方案1】:

我发现问题出在哪里,有点傻,我没有注意到,但迟到总比没有好。

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

现在一切正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多