Вызов функции колбы с JavaScript - PullRequest
0 голосов
/ 27 мая 2019

Попытка получить некоторые данные из функции колбы с помощью JavaScript.В настоящее время у меня есть HTML-форма и oninput, так что я могу в режиме реального времени обновлять результат, когда происходят изменения.

Все работает в коде, кроме возврата {{ sentVal(request.args.get('rev'), request.args.get('lang')) }}.Код работает хоть и снаружи, но не внутри.Почему это происходит и как я могу это исправить?

<script>
function refreshFunction() {
    document.getElementById("tonality").innerHTML = "Tonality: " + {{ sentVal(request.args.get('rev'), request.args.get('lang')) }};
}
</script>

1 Ответ

0 голосов
/ 27 мая 2019

Это можно сделать с помощью контекстного процессора , который сделает вашу функцию Python sentVal доступной для вашего кода Jinja.

@app.context_processor
def utility_processor():
    def sentVal(rev, lang):
        ...

Согласно комментариям, если выжелая перезапустить функцию sentVal, ее нужно будет преобразовать в функцию ajax (примеров этого легко найти).Но обзор:

В вашем html:

function refreshFunction() {
    var sentVal = // ajax call to your new route

    document.getElementById("tonality").innerHTML = "Tonality: " + sentval;
}

и Flask:

@app.route('/sentVal'):
   return sentVal(request.args.get('rev'), request.args.get('lang'))

Это довольно простой набросок, но, надеюсь, вы поняли идею!

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