我正在使用node和socket.io來編寫聊天應用程序。它在Chrome上正常工作,但Mozilla發出錯誤以啓用跨源請求。Socket.io + Node.js跨域請求被阻止
跨源請求被阻止:同源策略不允許讀取遠程資源http://waleedahmad.kd.io:3000/socket.io/?EIO=2&transport=polling&t=1401964309289-2&sid=1OyDavRDf4WErI-VAAAI。這可以通過將資源移動到相同的域或啓用CORS來解決。
這是我的代碼來啓動節點服務器。
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');
});
在客戶端。
var socket = io.connect('//waleedahmad.kd.io:3000/');
HTML頁面上的腳本標記。
<script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script>
我也在應用程序根目錄中使用.htaccess文件。 (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"
你有沒有得到這個工作?如果是這樣,你的解決方案是什麼? – denaje