html和django:返回HX-Trigger头与json数据显示错误' SyntaxError: json .par



我遵循https://htmx.org/headers/hx-trigger/

中的示例我的观点

def my_view(request):
res = render(request, 'index.html')
res.headers["HX-Trigger"] = ...
return res

此代码有效

res.headers["HX-Trigger"] = "showMessage"

而下面的代码将导致错误SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data

res.headers["HX-Trigger"] = {"showMessage": "Here Is A Message"}

我该怎么办?

您需要传递一个有效的JSON字符串作为头-而不是字典,因为字典不会自动转换为JSON(这就是客户端无法解析它的原因)。

下面的命令可以工作:

res.headers["HX-Trigger"] = '{"showMessage": "Here Is A Message"}'   # Note, this is a string

或者,如果你不想手动生成JSON字符串:

import json
res.headers["HX-Trigger"] = json.dumps({"showMessage": "Here Is A Message"})

最新更新