我是一个使用 Flask 框架(以及通常的客户端-服务器)的真正菜鸟,所以请耐心等待。我有一个基本的 HTML 模板文件,其中包含一些 Flask(使用 {% ... %} 表示法)从 python 文件传入 JSON 对象。现在,作为一个简单的完整性检查,它将motifs
(数组的数组)的内容作为单独的行(<li>
)输出到无序列表(<ul>
)中。
我希望它做的是使用motifs
JavaScript 脚本中的数组作为我正在尝试做的可视化的数据。我尝试将 Flask 脚本混合到<script>
迭代出 JavaScript 数组的 JavaScript 标记中,但得到一个错误,即脚本标记不喜欢 Flask 表示法 ( Uncaught SyntaxError: Unexpected token }
。那么我如何让 Flask 脚本咳出数组以用于JavaScript 脚本?我意识到我可能在这里误解了一些东西(也许是 JSON 的本质?)。我将不胜感激在正确方向上的任何推动。谢谢!
下面我在创建无序列表的 Flask 脚本中包含了我的 html 模板,我还包含了我在<script>
标签中使用 Flask 脚本的失败尝试。那么如何在 JavaScript 中成功访问数组(JSON)?
index.html(一个模板文件 - 为了清楚起见,这里简化了):
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<p>Here are some motifs:</p>
<ul>
{% for motif in motifs %}
<li>{{motif}}</li>
{% endfor %}
</ul>
<script>one of a few js scripts</script>
</body>
</html>
上述文件的输出如下所示(缺少未复制的项目符号):
以下是一些主题:
{'gene1':1,'gene2':1,'gene3':7,'gene4':7,'gene5':1}
{'gene1':7,'gene2':4,'gene3':10,'gene4':5,'gene5':2}
{'gene1':7,'gene2':1,'gene3':8,'gene4':5,'gene5':8}
{'gene1':2,'gene2':4,'gene3':6,'gene4':1,'gene5':9}
{'gene1':3,'gene2':8,'gene3':2,'gene4':7,'gene5':8}
{'gene1':1,'gene2':5,'gene3':1,'gene4':9,'gene5':5}
{'gene1':3,'gene2':5,'gene3':6,'gene4':10,'gene5':9}
{'gene1':2,'gene2':10,'gene3':7,'gene4':5,'gene5':10}
{'gene1':5,'gene2':5,'gene3':10,'gene4':10,'gene5':5}
{'gene1':10,'gene2':4,'gene3':4,'gene4':6,'gene5':4}
<script>
下面是我在Flask 传递的数组(JSON 对象)中访问失败的尝试:
<script>
var motifValuesArray = [];
var index = 0; // an iterator to assign indexes in the javascript array
{% for motif in motifs %}
motifValuesArray[index] = {motif};
console.log(motifValuesArray[index]);
{% endfor %}
</script>