From e613bc860f05c79f4d332125b9c12b8e29a176f0 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 10 Sep 2026 17:42:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=5Fpost=5Fjs=E6=8B=BC=E6=8E=A5dict?= =?UTF-8?q?=E8=87=B4TypeError500=E2=80=94=E2=80=94=E6=89=80=E6=9C=89?= =?UTF-8?q?=E5=B8=A6=E6=8C=89=E9=92=AE=E5=BC=B9=E7=AA=97=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E5=85=A8=E7=82=B8(staff=5Freplied=E6=80=81=E6=97=A0=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=88=86=E6=94=AF=E6=8E=A9=E7=9B=96=E4=BA=86=E6=AD=A4?= =?UTF-8?q?bug),dict=E6=94=B9json.dumps=E5=BA=8F=E5=88=97=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/api/ticket_detail_popup.dspy | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wwwroot/api/ticket_detail_popup.dspy b/wwwroot/api/ticket_detail_popup.dspy index 94ac2fe..1132f30 100644 --- a/wwwroot/api/ticket_detail_popup.dspy +++ b/wwwroot/api/ticket_detail_popup.dspy @@ -101,8 +101,15 @@ def _read_input_js(wid): def _post_js(url, body_expr): + # body_expr 为 dict 时序列化为 JS 对象字面量(2026-09-10 修复:原实现直接 + # 字符串拼接 dict → TypeError 500,所有带按钮的弹窗路径全炸;此前 staff_replied + # 态不进任何按钮分支才掩盖了此bug)。占位符 "cv_placeholder" 后续替换为 JS 变量 cv。 + if isinstance(body_expr, dict): + body_js = _json.dumps(body_expr) + else: + body_js = str(body_expr) return ("var r=await fetch(" + _json.dumps(url) + ",{method:'POST'," - "headers:{'Content-Type':'application/json'},body:JSON.stringify(" + body_expr + ")});" + "headers:{'Content-Type':'application/json'},body:JSON.stringify(" + body_js + ")});" "var d=await r.json();" + _tail)