1

我正在尝试创建一个简单的 Flask 应用程序,其中在服务器上生成一个整数数组并发送到客户端。我想在控制台中查看整数数组。这是 app.py 中的一些示例(工作)代码:

from flask import Flask, render_template, request, url_for

import random, json

app = Flask(__name__)

@app.route('/',  methods=['GET'])
def form():
    json_helper = {}
    json_helper['randoms'] = [random.random() for _ in range(40)]
    json_object = json.dumps(json_helper)
    return render_template('sim0625.html', s_data=json_object)

if __name__ == '__main__':
  app.run(debug=True)

这是 Javascript 前端的片段:

<script>

  var data_xyz = {{ s_data|tojson }};

  var JSONObject = JSON.parse({{data_xyz}});
  console.log(JSONObject.randoms);  

 </script>

不幸的是,我的网页上没有任何 javascript 工作,并且显示的错误消息是“Uncaught SyntaxError: Unexpected token u”。

有人可以解释如何解决这个问题吗?谢谢。我的猜测是 JSON 对象正在变成字符串。

注意:前端的代码改编自这个 SO 问题:Extracting data from json object in jQuery or JS

4

1 回答 1

3

您通过变量将 JSON 发送到模板s_data

在模板中,您将该变量呈现为一个名为data_xyz. 在下一行中,您尝试引用 Jinja 变量而不是 JavaScript 变量:

var JSONObject = JSON.parse({{data_xyz}});

将其更改为:

var JSONObject = JSON.parse(data_xyz);
于 2015-06-29T19:59:53.610 回答