识别为下载的文本/事件流 [英] text/event-stream recognised as a download
本文介绍了识别为下载的文本/事件流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试按照 本教程 在我的 Flask 项目中实现服务器推送.
我已经设置好了,没有任何错误,但是当我转到/stream 页面时,Firefox 将其识别为文件并尝试下载它.在 Safari 中,它只是打印出发送的数据.我尝试将代码调整为更简单的实现,其中一个线程每秒只产生一些数据,但它产生了相同的结果.
我的目标是每次 Python 脚本到达循环中的一个点时,它都会更新 Web 界面上的进度条.
对此的任何帮助都会很棒.谢谢.
app.py
from flask import Flask, render_template, request, Responseapp = Flask(__name__)def event_stream():event = "你好!"产生数据:%s
"% 事件@app.route('/stream')定义流():返回响应(event_stream(), mimetype="text/event-stream")如果 __name__ == "__main__":app.debug = Trueapp.run(线程=真)
index.html
<头><title></title><script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script type="text/javascript">var source = new EventSource('/stream');source.onmessage = 函数(事件){警报(事件.数据);};头部><身体><p>流页面</p>