TypeError:Undefined不是JSON serializab

2024-10-02 00:35:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用烧瓶写一个小应用程序。我的服务器代码如下:

@app.route('/loadNext')
def loadNext():
    tmp = "Okay"
    return render_template("next.html",message = {"date_to":"from","date_from":tmp,"error_stat":[30,400,21,45],"mac_length":[7,7,7,7],"mac":[["1.1.1.1","1.2.1.2","3.2.1.1","3.1.4.5","1.3.2.4","5.5.4.3","2.1.6.7"],                                                       ["6.1.1.1","1.2.3.2","3.2.1.1","3.2.4.5","1.3.2.4","5.5.4.3","2.1.6.7"],                                                        ["9.1.1.1","4.2.1.2","3.2.1.1","3.7.4.5","1.3.2.4","5.5.4.3","2.1.6.7"],                                                        ["10.1.1.1","1.2.1.2","3.2.1.1","3.6.4.5","1.3.2.4","5.5.4.3","2.8.6.7"]]})

在我的javascript代码中,我使用for循环并访问以下值:

^{pr2}$

但我得到了一个错误:

TypeError: Undefined is not JSON serializable

我想我不应该在这里使用循环变量。但解决办法是什么呢?我哪里出错了?在


Tags: 代码from服务器app应用程序datereturn烧瓶
1条回答
网友
1楼 · 发布于 2024-10-02 00:35:30

Jinja不懂JavaScript。Jinja在服务器上呈现,然后JavaScript在客户机上执行。不能从JavaScript循环中获取变量i并在Jinja表达式中使用它。相反,将JavaScript变量设置为Jinja表达式,然后在循环中使用该变量。在

var message = {{ message|tojson }};
for (var i = 0; i < message['mac'][0].length; i++) {
    var item = message['mac'][0][i];
}

如果只想输出数据,就不需要使用JavaScript。直接在Jinja中渲染即可。在

^{pr2}$

相关问题 更多 >

    热门问题