【问题标题】:AJAX not POSTing any dataAJAX 不发布任何数据
【发布时间】:2020-02-24 21:53:11
【问题描述】:

我一直在编写一些代码,一旦您单击按钮而不刷新整个页面,框就会消失,我无法克服当前的障碍。我的 AJAX 似乎没有发布任何数据,正如您从下面的代码中看到的那样,我有一个确认弹出窗口,它有效并且确实弹出,当您单击确定时,它应该将 ID 发布到 SQL 运行的另一个页面,但它没有,我已经尝试通过回显 POST 来测试它,看看它是否检索到它并且没有运气。

任何想法为什么它不会发布数据?

P.s 我已经检查过该功能是否正确,但在这里你可以看到用户点击了什么,并且 id 是 100% 的

 <button onclick='good(<?= $appRow['customer_appointments_id']; ?>)' class='w3-button w3-block w3-green w3-section'><i class='fa fa-check'></i></button>

AJAX

      function good(id){
      if (confirm("Are you sure you want to complete this appointment?")) {
          $.ajax({
             type: "POST",
             url: "scripts/lead/completeLeadTask.php",
             data: ({
                 id: id
             }),
             cache: false,
             success: function(html) {
                $(".delete_mem" + id).fadeOut('slow');
             }
         });

Scripts/lead/completeLeadTask.php

    echo $_POST['id'];

  $stmt = $dbh->prepare("UPDATE `customer_appointments` SET `customer_appointments_status` = 'c' WHERE `customer_appointments`.`customer_appointments_id` = ?")->execute([$_POST['id']]);
  $stmt = null;

【问题讨论】:

  • 你能得到按钮点击的id吗????
  • 我该如何测试?
  • 功能良好(id){ alert(id);
  • 是的,这行得通。我得到了正确的 id

标签: php mysql ajax post


【解决方案1】:

您将id 传递给completeLeadTask.php 页面,但在更新数据库时使用$_POST['customer_appointment_id']

我从 ajax 请求中的数据中删除了括号。

function good(id){
      if (confirm("Are you sure you want to complete this appointment?")) {
          $.ajax({
             type: "POST",
             url: "scripts/lead/completeLeadTask.php",
             data: {
                 id: id
             },
             cache: false,
             success: function(html) {
                $(".delete_mem" + id).fadeOut('slow');
             }
         });
    }
}

【讨论】:

  • 我将更新我的问题,但正如您在 SQL 上方看到的那样,我尝试执行 echo id 并且也不会打印任何内容
  • 更新了,有用吗?我相信“数据”中的括号可能会导致问题。
  • 我刚刚尝试用你的代码替换我的代码,但我现在什么都没有,甚至确认框也没有,所以我把它放回了我的旧代码
  • 那么使用您的代码,但删除 data: ({ id: id }) 中的 ()。这就是我所做的一切,所以任何错误都来自复制/粘贴而不看。
  • 恐怕不走运,感谢您的帮助,但它并没有改变任何东西,我仍然收到确认框,但单击“确定”后没有任何反应
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
  • 2015-01-14
  • 2016-07-30
  • 2017-09-29
  • 1970-01-01
相关资源
最近更新 更多