我有一个简单的Flask聊天应用程序,我正在从一个教程中进行测试。大概我只需要使用“ python app.py”命令来运行它,但是当我通过http://localhost:5000访问它时,我会得到一个连续的消息:
我希望得到200。我已经安装了Flask,Flask-SocketIO和eventlet。有什么想法可以指出正确的方向吗?谢谢。
答案 0 :(得分:2)
当前的Flask-SocketIO版本对跨域请求有更严格的要求。
添加cors_allowed_origins='https://localhost
将解决该错误。
即
SocketIO(app,cors_allowed_origins="http://localhost")
或
SocketIO(app,cors_allowed_origins="*")
希望这项工作。
答案 1 :(得分:0)
来自 Flask-SocketIO 文档的代码也对我产生了同样的错误。 但是这个示例代码没有(也在调试模式下):https://github.com/miguelgrinberg/Flask-SocketIO
在这两种情况下,都不包括上述修复。 更改 HTML 脚本标签很有帮助。
来自:
<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" integrity="sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=" crossorigin="anonymous"></script>
致:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx/qtq/1itJ0C2ejDxltZVFg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.0.4/socket.io.js" integrity="sha512-aMGMvNYu8Ue4G+fHa359jcPb1u+ytAF+P2SCb+PxrjCdO3n3ZTxJ30zuH39rimUggmTwmh2u7wvQsDTHESnmfQ==" crossorigin="anonymous"></script>