简体   繁体   English

JQuery Ajax 调用什么都不做

[英]JQuery Ajax call is doing nothing

So, I have a list of users that I am using PHP to produce into HTML.所以,我有一个使用 PHP 生成 HTML 的用户列表。 I include a button on every row to disable the user's access to the application, I want to use JQuery to call an AJAX object to update the database onto a field called "usrStatus", but whenever I click on the button, the alert "Successfully Called" does appear, but nothing happens on the database.我在每一行都包含一个按钮以禁用用户对应用程序的访问,我想使用 JQuery 调用 AJAX 对象将数据库更新到名为“usrStatus”的字段,但是每当我单击按钮时,警报“成功Called”确实出现,但数据库上没有任何反应。

What am I missing?我错过了什么?

HTML Button to call AJAX.用于调用 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 Function 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 Code "bloquearUsuario.php" 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");

You have你有

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

first ?第一的 ? is for status, second ?是为了地位,第二? is for idUsuarios是为 idUsuarios

in bind_param ... you have idUsuario then status ... so, I believe these need to be reversedbind_param ... 你有idUsuario然后是status ... 所以,我相信这些需要颠倒

so instead of所以而不是

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

use

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM