Ich verwende node und socket.io, um eine Chat-Anwendung zu schreiben. Es funktioniert gut in Chrome, aber Mozilla gibt einen Fehler aus, um die Cross-Origin-Anfragen zu aktivieren.
Ursprungsübergreifende Anforderung blockiert: Die gleiche Ursprungsrichtlinie verbietet das Lesen der Remote-Ressource unter http://waleedahmad.kd.io:3000/socket.io/?EIO=2&transport=polling&t=1401964309289-2&sid=1OyDavRDf4WErI-VAAAI . Dies kann behoben werden, indem die Ressource in dieselbe Domäne verschoben oder CORS aktiviert wird.
Hier ist mein Code zum Starten des Knotenservers.
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
path = require('path');
server.listen(3000);
app.get('/', function(req, res) {
res.sendfile(__dirname + '/public/index.html');
});
Auf der Client-Seite.
var socket = io.connect('//waleedahmad.kd.io:3000/');
Skript-Tag auf der HTML-Seite.
<script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script>
Ich verwende auch die .htaccess-Datei im App-Stammverzeichnis. (waleedahmad.kd.io/node).
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"