无法从JavaScript中的Flask模板变量访问列表元素

时间:2016-11-11 19:11:49

标签: javascript html flask jinja2

我有一个JavaScript函数

function functioncalled(){
var result = 1;
var activityID = {{ mynames[result][8] }};
console.log(activityID);

}

mynames是Flask模板中的列表列表。上面的代码没有给我一个错误 - UndefinedError:list对象没有元素Undefined。但是当我使用var activityId = {{mynames[1][8]}}访问列表元素时,一切正常。我该如何工作?有解决方法吗?我无法在任何地方找到解决方案。

1 个答案:

答案 0 :(得分:1)

您将无法这样做,因为{{any_flask_variable}}在服务器端进行评估,并且呈现的HTML将被发送到运行所有javascript的浏览器。在服务器上进行评估时,没有浏览器运行javascript代码。解决此问题的最佳方法是将列表变量分配给var result

function functioncalled(){
var result = {{mynames}};
// Here you can access the variable result
console.log(activityID);
}

在假设mynames变量可以映射到数组的js数组之后,这是偏离正轨的。