Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][Angular2] Ciasta nie wysyłają się do "innego" kontrolera
Forum PHP.pl > Forum > Przedszkole
peter13135
Czołem. Mam taki dość durny problem. Mam aplikację napisaną w angular 2 + backend w asp.net (serwisy rest w webApi).

Aktualnie mam dwa kontrolery. Ich adresy to:
Kod
localhost/api/users

oraz
Kod
localhost/api/gamerooms

Po zalogowaniu użytkownika, dodaniu sesji do bazy, tworzę ciastko:
Kod
  responseMessage.Headers.AddCookies(new List<CookieHeaderValue>() { new CookieHeaderValue("userSession", token.ToString()); });

Przeglądarka to ciastko przechwytuje i od tej pory używa do pozostałych żądań.
Problem polega na tym, że używa tylko do żądań, dla kontrolera api/users. Do drugiego kontrolera ciastko się nie wysyła.

Na poniższym screenie widać żądanie do kontrolera api/users - ciastko przesyła się poprawnie. W kontrolerze jestem w stanie ciastko odczytać.

Na poniższym screenie widać żądanie do kontrolera api/gamerooms- ciastko nie wysyła się. W kontrolerze nie jestem w stanie ciastka odczytać. Po przeniesieniu tej samej akcji z kontrolera gamerooms do kontrolera users, i podmianie w kodzie ~JavaScript ścieżki z gamerooms na users, ciastko wysyła się poprawnie
.

Sytuacja wydaje mi się dziwna, bo ciastka powinny (tak to przynajmniej rozumiem), dotyczyć jednej konkretnej domeny. Czyli w tym przypadku localhost.

Co robię tu źle ? Lub co mogę sprawdzić, jeśli w/w informacje nie są wystarczające ?
by_ikar
Cookie przyjmuje też parametr path. Jak nie zostanie podany, to domyślnie ustawiany jest "/". tyle że ten twój webserwer może ustawiać ścieżkę, i tego ci w requeście nie pokaże. Przejdź w developer tools w chrome do zakładki "application/aplikacja" i tam będziesz miał kategorię cookies, w której możesz znaleźć ciastko i sprawdzić wszystkie informacje o tym ciastku.

IMO nie jest to problem javascriptu, bo ani nie odczytujesz tego ciastka z jego poziomu, ani go nie tworzysz z poziomu JS'a. Jeżeli ciastko jest wysyłane przez webserwer, to będzie później wysyłane dla pasującej domeny/ścieżki przy każdym żądaniu, nawet jak będzie ci chciał html wczytać obrazek.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.