javascript - AJAX 成功后回显 PHP 消息

标签 javascript php jquery ajax

我有一个模式,当用户单击删除按钮时将显示该模式。一旦他们点击删除按钮,我就会使用 AJAX 提交表单。一切正常,但它不显示我在 PHP 中设置的成功消息。

这是我的 AJAX 代码:

function deleteUser(){
    var id = <?php echo $userdetails['id'] ?>;  
    $.ajax({
        type: "POST",
        url: 'admin_user.php?id=' + id,
        data: $('form.adminUser').serialize(),
        error: function(e){
                alert(e);
            },
        success: function () {
           // This is empty because i don't know what to put here.
        }
    }); 
}

这是 PHP 代码:

if ($deletion_count = deleteUsers($deletions)) {
        $successes[] = lang("ACCOUNT_DELETIONS_SUCCESSFUL", array($deletion_count));
    } else {
        $errors[] = lang("SQL_ERROR");
    }

然后我这样调用它:

<div class="col-lg-12" id="resultBlock">
   <?php echo resultBlock($errors,$successes); ?>
</div>

当我使用 AJAX 时,它不显示该消息。这在不需要 AJAX 提交表单的其他页面上效果很好。

最佳答案

我认为您对 AJAX 的工作原理感到困惑,您调用的 PHP 脚本不会直接输出到页面,请考虑下面简化的 AJAX 请求生命周期:

Main Page -> Submit Form -> Put form data into array
          |
          --> Send array to a script to be processed on the server
          |
          |----> Callback from the server script to modify DOM (or whatever you want to do)

回调有很多,这里我们讨论一下成功错误

如果在服务器上找不到您的 PHP 脚本或存在任何其他内部错误,则会返回 error 回调,否则会在 jQuery 中触发 success 回调您可以指定要在回调中接收的数据数组 - 这包含从 PHP 脚本回显的任何数据。

在您的情况下,您应该修改您的 PHP 文件以回显您的数组,这意味着如果发出成功的请求,则 $successes$errors 数组为回显到 AJAX 调用的数据参数

if ($deletion_count = deleteUsers($deletions)) {
    $successes[] = lang("ACCOUNT_DELETIONS_SUCCESSFUL", array($deletion_count));
    echo $successes;
} else {
    $errors[] = lang("SQL_ERROR");
    echo $errors;
}

然后,您可以通过将对象记录到控制台来测试您收到的对象:

success: function(data) {
    console.log(data);
} 

关于javascript - AJAX 成功后回显 PHP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28706389/

相关文章:

php - onclick 将 HTML 从一个页面保存到另一个页面

PHP:从字符串中修剪子字符串的最佳方法

javascript - 过滤多个选项的数组以返回新选择中的选项

jQuery Mobile 图标在哪里可以找到它们?

javascript - 向字符串添加小数

javascript - html5 音频在 ios safari 中不起作用

javascript - 从模态 Controller 分配数据源

用于调用 Namespace 函数的 Javascript Onready 函数

php - 如何在 PHP 中制作个人哈希算法

javascript - 选择后更改选择选项显示的文本但在更改选择时返回