Angularjs Socket.IO CORS请求失败

Angularjs Socket.IO CORS请求失败,angularjs,node.js,firefox,express,socket.io,Angularjs,Node.js,Firefox,Express,Socket.io,我在客户端有一个角度模块: angular.module('App') .factory('socketClient', function(socketFactory, Auth) { // socket.io now auto-configures its connection when we ommit a connection url var ioSocket = io('', { // Send auth token on connection

我在客户端有一个角度模块:

angular.module('App')
  .factory('socketClient', function(socketFactory, Auth) {

    // socket.io now auto-configures its connection when we ommit a connection url
    var ioSocket = io('', {
      // Send auth token on connection
      query: 'token=' + Auth.getToken(),
      path:  '/socket.io-client'
    });

    return socketFactory({
    ioSocket: ioSocket
  });;
  });
如果我想要请求其他名称空间,我将执行下一个更改:

    var ioSocket = io('/test', {
      // Send auth token on connection
      query: 'token=' + Auth.getToken(),
      path:  '/socket.io-client'
    }
但当我这样做时,我会在浏览器中获得以下日志

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost/socket.io-client/?token=&EIO=3&transport=polling&t=1432867748704-8. (Reason: CORS request failed).
我刚连接到名称空间时就出现了这个错误

对不起我的英语。c:

我通过以下方式解决了这个问题:

angular.module('App')
.factory('socketClient', function(socketFactory, $window) {

  // with the full path: $window.location.origin + '/test'
  var ioSocket = io($window.location.origin + '/test', {
    // Send auth token on connection
    query: 'token=' + Auth.getToken(),
    path:  '/socket.io-client'
  });

  return socketFactory({
    ioSocket: ioSocket
  });
});
请看这里: