将Jinja2数据发送到另一个js文件 - flask

时间:2018-06-01 18:52:46

标签: javascript python html flask jinja2

我有一个js文件,用于绘制具有所有必要参数的函数。我想在html中做这样的事情:

<script  src="js/index2.js" value = {{GraphData}}></script>

js文件看起来像这样

var chart = AmCharts.makeChart("chartdiv", {
  "graphs": [{
  "id": "g3",
  "valueAxis": "v1",
   ...
   }],
  "Data" = {{GraphData}} 
})

有没有办法将图表数据传输到js文件?

1 个答案:

答案 0 :(得分:0)

这里有一个关于脚本标签功能的根本误解。 “value”不是HTML脚本标记的有效属性,用于将JavaScript文件的文本内容导入HTML文件。

要实现您的目标,您只需删除:

<script src="js/index2.js" value = {{GraphData}}></script>

并将其替换为您要导入的内容:

var chart = AmCharts.makeChart("chartdiv", {
  "graphs": [{
  "id": "g3",
  "valueAxis": "v1",
  ...
  }],
  "Data" = {{GraphData}}  
})

有关HTML脚本代码herehere的更多信息。

如果你想把这个脚本保持在外部,那么你可以使用它来定义一个以{{GraphData}}为参数的函数,如下所示:

function graphData(gd) {
  var chart = AmCharts.makeChart("chartdiv", {
    "graphs": [{
    "id": "g3",
    "valueAxis": "v1",
    ...
    }],
    "Data" = gd  
  });
}

然后在HTML文件中调用该函数,如下所示:

<script src="js/index2.js"></script>
<script>
  graphData({{GraphData}})
</script>