Что я сделал неправильно, указав сообщение bootbox, я получаю сообщение об ошибке? - PullRequest
0 голосов
/ 03 апреля 2020

Я использую эту функцию для отправки на другую страницу, где я обновляю уровень разрешений пользователя.

var setPermLevel = function(userId, value)
    {
        $.ajax({
            type: "POST",
            url: "/user/setPermLevel",
            data: {id: userId, value: value},
            success: function(data)
            {
                if(data[0]['error']) bootbox.alert(data[0]['error']);
                else bootbox.alert(data[0]['message'], function() { location.reload(); });
            }
        });
    };

Я пытаюсь с этим кодом отправить сообщение в bootbox, чтобы показать его пользователь, но я все равно получаю сообщение об ошибке из загрузочной коробки "Пожалуйста, укажите сообщение".

if(isset($_POST['id']))
{
    $userId = $_POST['id'];
    $value = $_POST['value'];
    $rslt = "[";
    if(User::isAdmin($_SESSION['user']) < 6 && $value > 4) {
        $rslt .= '{"error":" You can\'t acces that."}';
    }
    else {
        $q = DB::prepare('UPDATE `users` SET `Admin` = ? WHERE `ID` = ?');
        $q->execute(array($value, $userId)); 
        $data .= '{"message":" Succesfully"}';
    }
    $rslt .= "]";
    echo $rslt;
}

Это ошибка:

Uncaught Error: Please specify a message
    at sanitize (bootbox.js:109)
    at Object.window.bootbox.window.bootbox.exports.dialog (bootbox.js:450)
    at Object.window.bootbox.window.bootbox.exports.alert (bootbox.js:246)
    at Object.success (toolBox.js:3470)
    at i (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at A (jquery.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery.min.js:4) 

Что я сделал не так, может кто-нибудь помочь мне

...