【发布时间】:2018-04-15 13:52:35
【问题描述】:
我正在努力找出我在这里犯的错误。
完整的故事:我已经将一些数据作为 JSON 保存到数据库中,就像这样
当我使用代码调用此函数时,我从数据库中复制和粘贴。
<script>
particlesJS(
{"particles":{"number":{"value":80,"density":{"enable":true,"value_area":800}},"color":{"value":"#000000"},"shape":{"type":"circle","stroke":{"width":0,"color":"#000000"},"polygon":{"nb_sides":5},"image":{"src":"img/github.svg","width":100,"height":100}},"opacity":{"value":0.5,"random":false,"anim":{"enable":false,"speed":1,"opacity_min":0.1,"sync":false}},"size":{"value":3,"random":true,"anim":{"enable":false,"speed":40,"size_min":0.1,"sync":false}},"line_linked":{"enable":true,"distance":150,"color":"#ffffff","opacity":0.4,"width":1},"move":{"enable":true,"speed":6,"direction":"none","random":false,"straight":false,"out_mode":"out","bounce":false,"attract":{"enable":false,"rotateX":600,"rotateY":1200}}},"interactivity":{"detect_on":"canvas","events":{"onhover":{"enable":true,"mode":"repulse"},"onclick":{"enable":true,"mode":"push"},"resize":true},"modes":{"grab":{"distance":400,"line_linked":{"opacity":1}},"bubble":{"distance":400,"size":40,"duration":2,"opacity":1,"speed":3},"repulse":{"distance":100,"duration":0.4},"push":{"particles_nb":4},"remove":{"particles_nb":2}}},"retina_detect":true}
);
</script>
一切正常。但是,当我通过 Python Flask 传递它时......
@app.route('/load_ban', methods = ['GET', 'POST'])
def load():
banner = get_banner_data()
but_txt = banner.button_text
ban_txt = banner.banner_text
text_color = banner.text_color
button_color = banner.button_color
button_border_color = banner.button_border_color
button_size = banner.button_size
banner_size = banner.banner_size
preset = banner.animated_presets
return render_template('banner.html', but_txt=but_txt, ban_txt=ban_txt, text_color = text_color, button_color = button_color, button_border_color = button_border_color, button_size = button_size, banner_size = banner_size, preset = preset)
我使用以下代码:
<script>
particlesJS(
{{preset}}
);
</script>
而且它不起作用。我不完全确定为什么,因为 {{preset}} 的内容应该与 DB 内容完全相同,对吧?
我也尝试过 JSON.parse({{preset}}),但也没有用。
关于我可能做错的任何想法?希望我忽略了一些相当简单的事情。
更新:这是渲染模板中的源代码:
<script>
particlesJS(
{"particles":{"number":{"value":80,"density":{"enable":true,"value_area":800}},"color":{"value":"#000000"},"shape":{"type":"circle","stroke":{"width":0,"color":"#000000"},"polygon":{"nb_sides":5},"image":{"src":"img/github.svg","width":100,"height":100}},"opacity":{"value":0.5,"random":false,"anim":{"enable":false,"speed":1,"opacity_min":0.1,"sync":false}},"size":{"value":3,"random":true,"anim":{"enable":false,"speed":40,"size_min":0.1,"sync":false}},"line_linked":{"enable":true,"distance":150,"color":"#ffffff","opacity":0.4,"width":1},"move":{"enable":true,"speed":6,"direction":"none","random":false,"straight":false,"out_mode":"out","bounce":false,"attract":{"enable":false,"rotateX":600,"rotateY":1200}}},"interactivity":{"detect_on":"canvas","events":{"onhover":{"enable":true,"mode":"repulse"},"onclick":{"enable":true,"mode":"push"},"resize":true},"modes":{"grab":{"distance":400,"line_linked":{"opacity":1}},"bubble":{"distance":400,"size":40,"duration":2,"opacity":1,"speed":3},"repulse":{"distance":100,"duration":0.4},"push":{"particles_nb":4},"remove":{"particles_nb":2}}},"retina_detect":true}
);
</script>
【问题讨论】:
-
在浏览器中查看你的源代码,看看
{{preset}}是怎么过来的。您可能有一些未按预期解析的 unicode 或语法问题。在此处粘贴源代码以进行更多诊断。 -
哈哈你是对的,我已经编辑了原始帖子,它在底部。
-
所以本质上是 "出现而不是“” ...嗯,这怎么能解决?
-
和
JSON.parse()? -
它看起来就像 JSON.parse() 围绕着那个烂摊子哈哈
标签: javascript jquery html sql flask