火狐上提示的
已阻止交叉源请求:同源策略不允许读取 http://x.x.x.x:6789/socket.io/1/?t=1399889735198 上的远程资源。可以将资源移动到相同的域名上或者启用 CORS 来解决这个问题。
server端
var condb = require(’./condb’);
var io = require(‘socket.io’).listen(6789,{log:false});
io.configure(function () {
io.set(‘log level’, 1);
io.set(‘origin’, ‘*’);
});
io.sockets.on(‘connection’, function (socket) {
socket.emit(‘news’, { hello: ‘world’ });
socket.on(‘nick’,function(data){
condb.add({‘nick’:data.name},socket.id)
});
socket.on(‘all’,function(data){
socket.broadcast.emit(‘broad’,{‘type’:0,‘msg’:‘信息推送’,‘name’:‘SYSTEM’});
});
socket.on(‘disconnect’, function () {
condb.del(socket.id)
});
});
~
客户端
<script type=“text/javascript” src=‘http://x.x.x.x:6789/socket.io/socket.io.js’></script>
<script type=“text/javascript”>
var socket;
window.onload = function(){
socket = io.connect(‘http://x.x.x.x:6789’);
socket.on(‘news’, function (data) {
console.log(data);
socket.emit(‘my other event’, { my: ‘data’ });
});
}
function send(msg){
socket.emit(‘nick’,{‘name’:msg})
}
</script>
客户端现在就是静态html页面 如果 我现在 在本地的页面 使用的话 会提示跨域
搜了好久都没解决,
在一个服务器上都没问题
求教,是此路不通吗? 还是有办法解决