我的網站需要一個websocket,我想使用socket.io。
。但是,我遇到了一個 CORS 問題:
Access to XMLHttpRequest at 'http://localhost:2021/socket.io/? EIO=4&transport=polling&t=NlbFGS2' from origin 'http://localhost:63341' has been blocked by CORS policy: No 'Access-Control-Allow-Origin'頭存在于請求的資源上。
polling-xhr.js:202
GET http:/localhost:2021/socket.io/?EIO=4& transport=polling& t=NlbFGS2 net::ERR_FAILED
所以我在socket.io網站上找到了這段代碼,我試了一下,但還是有同樣的問題......
const app = require('express') ();
const http = require('http').createServer(app)。
const io = require("socket.io") (http, {
cors: {
origin: ["http://localhost:63341/"],
methods: ["GET"/span>, "POST"/span>]
}
})
而這里是客戶端的代碼:
< script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.msgpack.min.js"></script>
<script>
let socket = io('http://localhost:2021'/span>)
</script>
uj5u.com熱心網友回復:
在你的后端服務器上遵循這些步驟:
運行npm install cors
在創建app后添加這段代碼:
app.use(cors({
origin: "http://localhost:63341"。
}))
重新啟動你的服務器并檢查它是否作業。
如果它仍然不作業,那么把你的第3行改為:
const io = require("socket。 io")(http); // no cors configuration.。
uj5u.com熱心網友回復:
你可以用這個來允許任何東西連接... 但不要在生產中這樣做。
export const io = new Server( http, {
cors: { origin: "*"/span> },
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/311824.html
標籤:
