javascript - JQuery Ajax 调用什么都不做

标签 javascript php jquery ajax mysqli

因此,我有一个用户列表,我正在使用 PHP 将其生成为 HTML。我在每一行都包含一个按钮以禁用用户对应用程序的访问,我想使用 JQuery 调用 AJAX 对象以将数据库更新到名为“usrStatus”的字段中,但是每当我单击该按钮时,警报“成功被调用”确实出现,但数据库没有任何反应。

我错过了什么?

调用 AJAX 的 HTML 按钮。

<button id="block-1" type="button" class="btn btn-danger ublock" name="blockUser" data-toggle="tooltip" data-placement="top" title="Block User">
    <i class="fa fa-lock" aria-hidden="true"></i>
</button>

JQuery 函数

$('.ublock').click(function() {
    var $userId = $(this).attr('id').slice(9);
    if ($(this).find('i').hasClass('fa-lock')) {
        $(this).toggleClass('btn-success').toggleClass('btn-danger');
        $(this).find('i').toggleClass('fa-lock').toggleClass('fa-unlock-alt');

        $.ajax({
            method: 'POST',
            url: '/Websites/Mahle/Resources/PHP/Usuarios/bloquearUsuario.php',
            data: {idUsuario: $userId, status: "Bloqueado"},
            success: function(result) {
                alert('Successfully called!!');
            },
            error: function(exception) {
                alert('Exception:'+exception);
            }
        })
    }
});

PHP 代码 "bloquearUsuario.php"

include('/Applications/MAMP/htdocs/Websites/Mahle/Resources/PHP/loginDatabase.php');

$qry = "UPDATE MahlePruebas.Usuarios SET usrStatus = ? WHERE idUsuarios = ?";

$usrUpdate = $dbLogin->prepare($qry) or die('Error preparando query (bloquear usuario): ' . $dbLogin->error . " (".$dbLogin->errno.")" . "\n");
$usrUpdate->bind_param("ss",
  $_POST['idUsuario'],
  $_POST['status']
) or die('Error preparando query (bloquear usuario): ' . $dbLogin->error . " (".$dbLogin->errno.")" . "\n");
$usrUpdate->execute() or die('Error preparando query (bloquear usuario): ' . $dbLogin->error . " (".$dbLogin->errno.")" . "\n");

最佳答案

你有

$qry = "UPDATE MahlePruebas.Usuarios SET usrStatus = ? WHERE idUsuarios = ?";

首先?是为了地位,第二?适用于 idUsuarios

bind_param 中......你有 idUsuario 然后是 status ......所以,我相信这些需要被逆转

所以而不是

$usrUpdate->bind_param("ss",
  $_POST['idUsuario'],
  $_POST['status']
)

使用

$usrUpdate->bind_param("ss",
  $_POST['status'],
  $_POST['idUsuario']
)

关于javascript - JQuery Ajax 调用什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41582236/

相关文章:

javascript - polymer 1.0 : Help to avoid all elements making same ajax request

带有用户输入名称和数值的javascript并行数组

PHP:喜欢/不喜欢计数器

javascript - 如何使用 JavaScript 停止(悬停子级,父级悬停状态启动)

javascript - 如何在用户单击时隐藏抽屉

javascript - 为什么 React 路由在组件中不起作用?

php - 使用 PHP 从远程站点抓取时跟踪 Javascript 链接

php - MySql 查询在 php 中不起作用

jquery - 如何使用 jquery 获取 :focus ~ . 类 css 选择器?

jquery - 离开悬停后完成 CSS 动画