Професионална програма
Loading...
r_petrov avatar r_petrov 14 Точки

[AngularJS] Проблеми, Въпроси, Решения, Бъгове

Здравейте колеги, днес забелязах следният проблем в моя проект: направих юзърската част съобразно последната лекция на Ивайло Кенов, като съм имал предвид и спецификите в изискванията при нас. Кодът работи, но не както очаквах: ако съм логнат с някакъв юзър и след това се логаутна, при следващ логин с друг юзър, системата показва екрана с ишутата на предния юзър, въпреки, че при проверка в конзолата се виждат данните на новия юзър. Ако рефрешна страницата, вече се виждат новите данни. Същият проблем срещам и при логаутване - показват се html елементи, които не би трябвало да се визуализират, ако не е логнат юзърът - при рефреш нещата се оправят.

За да работи коректно програмата, трябва да правя или рефреш на страницата, или да ползвам функцията за рефреш на http хедърите и профила на текущия потребител, което според мен е излишно.

Някой сблъсквал ли се е с подобен проблем?

Благодаря предварително за вниманието!

0
JavaScript Applications
ksevery avatar ksevery 35 Точки

При логаут направил ли си го със съответния endpoint? Защото аз имах същия проблем като се опитвах при натискане на логаут бутона само да изпълнявам кода за логаут, без да се прави route /logout. При мен се оправи като си направих съответния route, при натускане на бутона директно пращам към него и вътре, в routeProvider-а му казвам resolve: logout: [function()], което се изпълнява при навигиране към съответната страница. Вътре след логаута правя директно $location.path('/') и вече ми ги няма проблемите.

1
r_petrov avatar r_petrov 14 Точки

Благодаря ти за отговора! Да, имам съответния endpoint. И, понеже има изискване за страница за logout, съм я направил. При кликане на съответния бутон от нея, се изпълнява съответната функция от контролера, свързан с нея, след което, при успешно изпълнена заявка, също използвам $location.path('/'). В крайна сметка, добавих една проверка след излизането от системата, за да се скрият бутоните.

0