通过 jinja 传递对象将其转换为 html 编码文本

Passing object through jinja converts it to a html encoded text

为什么 javascript 转换这个对象:

{'id': '627862713242222632', 'username': 'Piranhas', 'avatar': 'da8a11436b0e596016e98d53688094ba', 'discriminator': '5016', 'public_flags': 0, 'flags': 0, 'banner': None, 'banner_color': None, 'accent_color': None, 'locale': 'en-US', 'mfa_enabled': False}

进入以下

{'id': '627862713242222632', 'username': 'Piranhas', 'avatar': 'da8a11436b0e596016e98d53688094ba', 'discriminator': '5016', 'public_flags': 0, 'flags': 0, 'banner': None, 'banner_color': None, 'accent_color': None, 'locale': 'en-US', 'mfa_enabled': False}```
function messageParameters(messageType, userInfo) {
    let parameterTable = document.getElementById("parameterTable");
    console.log(userInfo)

clean 对象(第一个)打印在我的 python webapp 中,然后通过 renderTemplate 传递。但是,当它到达我的站点(传递到函数中)时,它会将其转换为一团乱麻!

如果能深入了解为什么会发生这种情况,并找到可能的解决方案,那就太好了。

&#39 是撇号的 html encoding。它用编码替换了所有撇号,以确保浏览器正确显示实际的撇号。如果不这样做,则存在浏览器将其解释为代码的风险,这可能是一个安全问题。