我有一个Flask应用程序,依赖于javascript的某些功能。javascript文件有时加载良好,有时我在控制台得到一个错误:
GET http://localhost:5000/static/js/sm4sb.js net::ERR_INVALID_HTTP_RESPONSE 200
当这种情况发生时,javascript不会被加载。然后,我必须多次刷新页面,直到控制台没有显示此错误。
我在某处读到,把这个放在我的config.py文件应该修复它,但它没有
SEND_FILE_MAX_AGE_DEFAULT = 0
其他地方有人建议添加:
@app.after_request
def add_header(response):
response.headers['Cache-Control'] = 'no-cache, no-store'
但是当我这样做的时候,我得到了一个错误
AttributeError
AttributeError: 'NoneType' object has no attribute 'vary'
请注意,这个问题是在Chrome上出现的,它在Firefox上运行没有问题。
编辑:我发现一些参考资料表明这是一个Flask问题,并降级到较早的版本。我试试看,然后回来报告。
在向Werkzeug团队提交了一个bug后,他们说要从2.1.1版本升级到最新的2.1.2版本。
解决了这个问题。
所以澄清一下,我现在运行Python 3.10.4, Flask 2.1.2和Werkzeurg 2.1.2,这个问题不再发生了。
CSDN上的这个页面(链接是通过google翻译)建议解决方法是将Werkzeug(不是flask)降级到2.0.2版本。
(顺便说一句,根据CSDN上的页面,真正的问题是Chrome版本73)