Nach mehreren Posts auf dem Stapel konnte ich immer noch keine richtige Antwort finden.CORS Knoten js Ausgabe
Überprüft die Dokumentation auf CORS Erweiterung.
Ich habe den folgenden Server-Code und läuft:
var WebSocketServer = require("ws").Server
var http = require("http")
var express = require('express')
var cors = require('cors')
var app = express();
app.use(cors());
var port = process.env.PORT || 9000
var server = http.createServer(app)
server.listen(port)
var count = 0;
var clients = {};
var rooms = {};
var wss = new WebSocketServer({server: server})
wss.on("connection", function(ws) {
ws.on("create-room", function(data) {
rooms[data] = {creator : data.user_id, created : new Date()}
})
ws.on("close", function() {
console.log("websocket connection close")
})
})
Aber ich bekomme:
XMLHttpRequest nicht http://localhost:9000/socket.io/?EIO=3&transport=polling&t=LE-CbU0 laden kann. Ein Platzhalter '*' kann nicht in dem Header 'Access-Control-Allow-Origin' verwendet werden, wenn das Anmeldeinformationen-Flag wahr ist. Origin 'http://localhost:8100' ist daher nicht erlaubt. Der Anmeldeinformationenmodus eines XMLHttpRequest wird durch das withCredentials-Attribut gesteuert.
Wenn ich die Zeile mit app.use(cors());
Kommentar erhalte ich:
XMLHttpRequest nicht http://localhost:9000/socket.io/?EIO=3&transport=polling&t=LE-Cwb8 laden. No Der 'Access-Control-Allow-Origin'-Header ist auf der angeforderten -Ressource vorhanden. Herkunft 'http://localhost:8100' ist daher nicht erlaubt Zugriff. Die Antwort hatte HTTP-Statuscode 404.
So klar mein Server ist und läuft ok, aber
Vielen Dank für die Antwort, jetzt ich 'Credentials Flag 'wahr' ist, aber die 'Access-Control-Allow-Credentials' Header 'ist'' –
Danke dir, habe den Trick :). Ich bin neu zu diesem –
Eine Frage aber, jetzt bekomme ich 404, wenn der Browser die URL aufrufen, obwohl ... Wenn ich Ihre Lösung entfernen, bekomme ich den Kors Fehler ... Es ist verwirrend ... –