dk-web: повторюсь - посмотрите в дебагере браузера в панели network что приходит с сервера. Так же поставьте бряку в функции и посмотрите что приходит в функцию.
используете устаревшие success/error (а не промисы) и используете $scope (он не нужен, angular 1.5 на дворе, компоненты, хуки контроллеров и все такое).
SheldonCoop: фабрика это не сингелтон, фабрика это фабрика. Это штука которая пораждает сервисы. Ее задача - сделать сервис по запросу. Выполняется она один раз потому что контейнер зависимостей ($injector) просит это один раз.
Далее мы работаем исключительно с продуктом фабрики - сервисом. И запросы делают сервисы. Почувствуйте разницу.
Механизм аунтентификации вы сделали... свиду правильно (единственно что не понятно - куки и так с каждым запросом будут уходить и лучше уж в local storage тогда токен пихать, тогда мы от csrf хотя бы защищаться не будем). У вас проблемы не с ним, а с тем как вы управляете в принципе состоянием приложения. У вас сервисы хранят какое-то состояние, а стало быть при вылогинивании вы должны это состояние дропать (явно вызвав метод сервиса).
Сергей Мурзин: удаляет, просто в вашем случае я проглядел, вы же замыкание вызываете из глобального контекста. Вот он в этом контексте переменную и создает. Если бы вы вызывали конструктор именнованный, то было бы уже чуть подругому.
VZVZ: ну вот вы сказали "че по быстрому не реализовать CGI что бы разобраться", а автора помимо CGI (который по сути никому не нужен уже) интересует разница с fastcgi. А стало быть ему нужно разобраться еще и с fastcgi. А стало быть надо еще и это дело заимплементить что бы разобраться, следуя вашей логике.
"блаблабла" в падивикии намного более эффективный способ обучения. Имплементить что-то можно только совмещая.
k-2: ну так не блок схемой. Есть UML, можно накидать диаграмму юзкейсов, диаграмму взаимодействий, из этого можно спокойно выделить основные компоненты системы и в принципе у нас уже есть все фичи проекта. А уже проектировать на данном этапе каждый отдельный компонент - это лишнее.
abcd0x00: повторюсь, я не очень "очевидно" сформулировал предложение. Читаем внимательнее:
> она предоставит нам список сокетов, в которых мы можем отправлять данные, в которых есть что-то новенькое для чтения, и те, в которых произошли ошибки.
то есть я тут говорю именно о трех списках. Ты привел кусок этой фразы, и из него уже совсем не понятно, один список или два... ну и далее пустая дискуссия.
Михаил Евдокимов: это деталь реализации ангуляра, внутренний механизм его работы. В былые времена (до angular 1.3) избавиться от него было проблематично. До версии 1.5 можно было просто минимизировать использование скоупа в отдельных директивах. А с версии 1.5 - можно просто про него забыть. Он больше не нужен.
Профит от этого в основном в том, что мы отбираем у неопытных разработкичов делать страшные вещи, вроде использования $on/$emit/$broadcast в своих целях, или же использовать $watch. Пусть этим всем ангуляр закулисами занимается. С такими ограничениями шансы что разработчик сделает "плохо" уже резко понижаются.
success/error - устаревшие методы, не используйте их. По вашей проблеме - открываем дебаг панель и смотрим результат запроса. И уточните где именно выводит true