Передача словаря в javascript ошибка функции - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть словарь, который передается из python (flask), и я хочу передать его в функцию javascript, когда я нажимаю на ссылку, но я не знаю, почему я не могу передать его, и это ошибка вот так.

SyntaxError: '' string literal contains an unescaped line break

Это мой код.

python

from flask import Flask, render_template

app = Flask(__name__)
@app.route('/', methods=['GET','POST'])
def index():
    dictionary = {'a':1, 'b':2}
    return render_template('index.html', dictionary=dictionary )

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

html

<a href="#" onclick="myFunction('{{ dictionary }}');">click</a> 


<script>

function myFunction(dictionary){
  ..........
}

</script>

1 Ответ

0 голосов
/ 02 февраля 2020

Используйте flask.jsonify при передаче словаря в шаблон jinja при вызове API (например, ajax и ...) и используйте {{ dictionary|safe }} в JavaScript части шаблона (как при вызовах API, так и при передаче переменной в шаблон).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...