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

Sweet Alert函数无法显示消息 求排查代码问题

问题原因及解决办法

你的问题核心在于SweetAlert的异步特性和页面跳转时机冲突:

  • 原生alert()是阻塞式函数,会暂停后续JS代码执行,必须等用户点击确定后才会执行跳转;
  • 但SweetAlert是异步非阻塞的,调用swal()后代码会立刻执行后面的window.location.href,页面直接跳转,弹窗根本没机会渲染显示。

另外你代码里的字符串换行也会导致JS语法错误,直接在JS字符串中换行是不允许的,需要转成\n或者调整字符串写法。

修正后的代码示例

echo '<script>';
echo 'swal({
        title: "操作成功",
        text: "Your request has been successfully filled and your Letter No is '.$Dep.'/'.$fy.'/'.$id.'.\nKindly submit the original copy of this letter to CRDS.",
        icon: "success"
      }).then(() => {
        window.location.href = "dashboard.php";
      });';
echo '</script>';
exit;

关键改动点

  • 把跳转逻辑放到swal()的.then()回调里,确保用户点击弹窗确认按钮后才执行跳转;
  • 把字符串中的换行替换成\n,避免JS语法报错;
  • 如果你用的是SweetAlert2,语法替换为Swal.fire()即可,核心逻辑保持一致:通过回调控制跳转时机。

内容的提问来源于stack exchange,提问作者gorakh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:34:53