湖上湖
2023-02-24 14:59:02
線路有問題 const message = JSON.parse(message);。該消息是來自 python flask 后端的 JSON。如果我通常<span>{{message}}</span>用 HTML 標(biāo)簽編寫,這將打印出 JSON 文件。但由于某種原因我無法解析它?<!doctype html><html> <head> <title>{{ title }} - Status Checker</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='styles/styles.css') }}"> <script> const message = JSON.parse(message);</script> </head> <body> <ul> <li> <span>TestDrive</span> <span class="badge badge-pill badge-success">Operational</span> </li> </ul> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> </body></html>蟒蛇方法:@app.route('/index')def index(): user = {'username': 'Me'} ------------------------------------------------DATA-------------------- message=json.dumps(dicts) return render_template('index.html', title='Home', user=user, message = message) JSON:{"thing":"value", "more":"stuff"}
3 回答

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
你必須在完成后加載 json 對象json.dumps。
message = json.dumps(dicts)
message_dump = json.loads(message)
return render_template('index.html', title='Home', user=user, message=message_dump)
現(xiàn)在,您可以直接使用 json 對象,而無需在 script 標(biāo)記中進(jìn)行解析,并通過遍歷它來解析鍵值。
現(xiàn)在,您可以使用 like{{ message["things"] }}打印"value"HTML 等。

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
看來,你需要這樣解析它:
let message = {{ message }} JSON.parse(message)
所以問題是模板變量由服務(wù)器解析,但你試圖將它們傳遞給 JS(瀏覽器)
添加回答
舉報(bào)
0/150
提交
取消