我有一个从Flask应用发送的字符串arr=['a', 'b', 'c']
的列表。我像arr={{arr|tojson}}
一样将其传递给我的静态js脚本,然后使用JSON.parse(arr)
。
我看到的所有解决方案似乎都可以在localhost上运行,但是当我通过nginx后面的wsgi容器为我的应用程序提供服务时,我的js文件将其解释为arr="['a',"'b','c']
。有时,我JSON.parse()
会收到一个unexpected end of JSON input
错误,因为js文件只收到"['a',"
。其他时间,当我使用unexpected token \ at line 1
时会得到arr={{arr|tojson|safe}}
。
我尝试通过app.py
json.dumps()
从我的map(json.dumps,arr)
发送arr。我已经尝试过{arr|tojson}}
和{arr|tojson|safe}}
。我试过在有和没有JSON.parse()
的情况下,从我的js文件中读取arr,但对于所有尝试都没有骰子。
我的app.py
arr = ['a', 'b', 'c']
@app.route('/')
def index():
return render_template('index.html',arr=arr)
我的index.html
<script id="params" type="text/javascript" arr={{arr|tojson}} src="{{url_for('static',filename='app.js')}}"></script>
我的app.js
$(document).ready(function() {
var src = $('#params');
arr = JSON.parse(src.attr('arr'));
});
答案 0 :(得分:0)
我的app.py
arr = ['a', 'b', 'c']
@app.route('/')
def index():
return render_template('index.html',arr=arr)
我的index.html
<script id="params" type="text/javascript" arr={{','.join(arr)}} src="{{url_for('static',filename='app.js')}}"></script>
我的app.js
$(document).ready(function() {
var src = $('#params');
arr = src.attr('arr').split(',');
});