You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击删除按钮后Sweetalert警告正常,但Ajax成功回调提示不显示

解决Ajax回调中Sweetalert弹窗不显示的问题

以下是几个排查和解决方向:

1. 检查code.php的返回内容

  • 确保code.php只返回纯数字200或500,不要有任何额外输出(比如空格、HTML标签、PHP错误提示、调试用的echo内容)。很多新手会在PHP文件里不小心留下空行,或者输出多余信息,导致response包含无关内容,和200/500不匹配,回调里的判断逻辑就不会触发。
  • 示例正确的PHP返回代码:
// 处理完删除逻辑后
if ($删除成功) {
    echo 200; // 只输出数字,不要加引号
} else {
    echo 500;
}
exit; // 确保后续没有其他代码输出内容

2. 给Ajax添加错误回调,排查请求问题

当前代码仅处理了请求成功的情况,请求失败时不会有任何提示。添加error回调能帮你快速定位请求层面的问题:

$.ajax({
    method: "POST",
    url: "code.php",
    data: {
        'product_id':id,
        'delete_product_btn': true
    },
    success: function (response) {
        // 先打印返回内容,确认实际收到的是什么
        console.log('返回内容:', response);
        // 用trim()去除可能存在的前后空格
        if(response.trim() == 200)
        {
            swal("Good job!", "Deleted successfully!", "success");
        }
        else if(response.trim() == 500)
        {
            swal("Error!", "Something went wrong!", "error");
        } else {
            // 处理非预期返回的情况
            swal("提示", "返回内容异常:" + response, "info");
        }
    },
    error: function(xhr, status, error) {
        // 请求失败时打印错误信息到控制台
        console.log('请求错误:', status, error);
        swal("请求失败", "无法连接到服务器,请检查路径或网络", "error");
    }
});

3. 查看浏览器控制台的错误信息

按F12打开开发者工具,切换到Console标签,检查是否有JavaScript错误(比如Sweetalert未定义、Ajax路径错误等);再切换到Network标签,找到code.php的请求,查看返回的状态码和响应内容,确认是否符合预期。

4. 确认Sweetalert版本兼容性

如果初始确认弹窗正常,但回调里的弹窗不显示,可能是版本差异导致的API调用问题。比如新版Sweetalert2的调用方式是Swal.fire(),而旧版是swal(),可以尝试修改回调里的调用代码:

Swal.fire("Good job!", "Deleted successfully!", "success");

内容的提问来源于stack exchange,提问作者Jenna Müller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:40:54