2015-05-29 7 views
0

У меня есть на стороне клиента углового модуль:Socket.IO CO не удался

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). 

Эта ошибка возникает только при подключении к пространству имен.

Извините за мой английский. с:

+0

Посмотрите здесь: http://stackoverflow.com/q/15771805/5246 – sirrocco

ответ

0

Я решил это:

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 
    }); 
}); 
Смежные вопросы