【发布时间】:2020-12-02 17:14:36
【问题描述】:
这个问题之前已经问过很多类似的问题,但是这些解决方案对我不起作用,所以我再次发布这个问题
React 前端前端日志:
Access to XMLHttpRequest at 'http://localhost:5000/socket.io/?EIO=4&transport=polling&t=NOaQQ2g' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET http://localhost:5000/socket.io/?EIO=4&transport=polling&t=NOaQDio net::ERR_FAILED
python flask_socketio 后端日志:
"GET /socket.io/?EIO=4&transport=polling&t=NOaQQ2g HTTP/1.1" 400 -
后端代码:
from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app,cors_allowed_origins="*")
if __name__ == '__main__':
socketio.run(app)
前端代码:
import './App.css';
import { io } from 'socket.io-client';
const socket = io('http://localhost:5000');
socket.on('connect', () => {
console.log(socket.connected);
})
function App() {
return (
<div className='App'>
<h1>test</h1>
</div>
);
}
export default App;
我尝试过的解决方案,
使用 flask_cors 库,
将 cors_allowed_origins 设置为“*”或“http://localhost”或“http://localhost:3000”
【问题讨论】: