Как управлять json в шаблоне html, отправленном через колбу SSE

Мне нужно бесконечно вставлять json в мой HTML-шаблон. В html-шаблоне я хочу управлять этим json и вставлять данные из него на html-страницу. Вот мой код:

@app.route('/stream')
def stream():
    def event_stream():
        counter = 0
        while True:
            yield "data: {}\n\n".format({"a": "1", "b": "2"})
            time.sleep(10)
    return Response(event_stream(), mimetype = "text/event-stream")

и HTML-шаблон:

<!DOCTYPE html>
<html lang = "en">
<head>
    <title>My Webpage</title>
</head>
<body>
    <script>
        var eventSource = new EventSource("/stream");
            eventSource.onmessage = function(e) {
            alert(e.data);
        };
    </script>
</body>
</html>   

Пока тревога не работает. И мой json отображается на HTML-странице, даже если удалить js-скрипт из html. Как я могу манипулировать json в своем html?

🤔 А знаете ли вы, что...
В Python есть среды разработки, такие как Jupyter Notebook, которые упрощают работу с данными и исследованиями.


246
1

Ответ:

Вы можете вернуть json на свой вызов AJAX и использовать его после «успеха».

Колба:

@app.route('/my_route',methods=['GET','POST'])
def my_function():
    request_json=request.get_json()
    html_string= some_processing(request_json)
    return jsonify(result=html_string)

АЯКС:

success : function(data){ $('#id-where_html_goes').html(data.result); },