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

点击SET按钮后Sweetalert不弹出但数据可正常更新的问题排查求助

SweetAlert弹窗不显示问题排查与解决

可能的原因

  • 未正确引入SweetAlert对应的CSS、JS依赖,或依赖加载顺序晚于弹窗执行代码
  • 未开启会话:所有用到$_SESSION变量的页面没有在代码最顶部加session_start(),导致session值无法正常传递
  • 跳转路径不匹配:updataStatus.php中数据处理完成后跳转到了tracking.php,但弹窗逻辑写在了index.php中,跳转后不会触发index里的弹窗代码
  • 缺少必要的session参数:弹窗代码中用到了$_SESSION['status_code'],但updataStatus.php中只赋值了$_SESSION['success'],没有给status_code赋值,导致JS参数异常,SweetAlert无法正常渲染
  • SweetAlert语法与使用版本不匹配:如果使用的是SweetAlert2,语法为Swal.fire()而非旧版的swal(),语法错误会导致执行失败

解决步骤

  1. 确认SweetAlert依赖正确引入
    在页面的<head>标签内或<body>标签末尾引入对应版本的SweetAlert资源,确保引入代码在弹窗执行的JS代码之前。
  2. 开启会话支持
    在updataStatus.php、index.php(或跳转目标tracking.php)的代码最顶部(所有输出之前)添加:
<?php session_start(); ?>
  1. 匹配跳转路径与弹窗位置
    如果你希望跳转回index页面显示弹窗,将updataStatus.php里的跳转语句修改为:
header('Location: index.php');

如果确实要跳转到tracking.php,把index.php里的那段弹窗PHP+JS代码迁移到tracking.php的合适位置。
4. 补充status_code参数赋值
修改updataStatus.php里的逻辑,补充status_code的赋值:

if($query_run){
    $_SESSION['success'] = "YOUR DATA UPDATED";
    $_SESSION['status_code'] = "success"; // 新增参数
    header('Location: index.php'); // 按需修改跳转地址
}else{
    $_SESSION['success'] = "YOUR DATA IS NOT UPDATED";
    $_SESSION['status_code'] = "error"; // 新增参数
    header('Location: index.php'); // 按需修改跳转地址
}
  1. 适配对应版本的SweetAlert语法
    如果使用的是SweetAlert2,将弹窗代码修改为对应语法:
Swal.fire({
  title: "<?php echo $_SESSION['success']; ?>",
  icon: "<?php echo $_SESSION['status_code']; ?>",
  confirmButtonText: "yissh",
});

内容的提问来源于stack exchange,提问作者student who need help

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 16:30:03