JQuery Ajax调用无效

时间:2017-01-11 03:31:29

标签: 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");

1 个答案:

答案 0 :(得分:1)

你有

$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']
)