$cookieStore.get() renvoie la valeur undefined dans angularjs
Je suis en train d'écrire un cookie à partir d'un serveur par le biais de la réponse et c'est bien le problème, c'est quand j'essaie de lire le même cookie en utilisant angularJs $cookieStore.get() renvoie toujours 'undefined', j'ai débogué avec les outils de développement à l'aide de chrome et le cookie est là,
console.log($cookieStore.get("r"));
$cookieStore semble être injecté et en cours d'exécution ok, je me demandais simplement pourquoi angularJs ne peut pas lire le cookie.
Edit:
J'ai essayé avec $cookies de service et j'ai pas défini en tant que bien.
J'envoie le cookie dans le côté serveur sans aucun problème, je reçois des cookies dans chrome developer tools
Je suis en utilisant le Service de la Pile et le code est le suivant:
public override object Logout(IServiceBase service, ServiceStack.ServiceInterface.Auth.Auth request)
{
var resp = service.RequestContext.Get<IHttpResponse>();
resp.Cookies.AddCookie(new Cookie { Name = "r", Path = "/", Value = "from server", HttpOnly = false, Discard = false, Expires = DateTime.Now.AddHours(12) });
return base.Logout(service, request);
}
OriginalL'auteur jack.the.ripper | 2013-10-16
Vous devez vous connecter pour publier un commentaire.
Je pense que
$cookieStore
est uniquement destiné à être utilisé par lui-même, a 'la r' ensemble quelque part d'autre? Les docs disent qu'il fournit un magasin de clé/valeur soutenu par les témoins, pas d'accès direct à des cookies. Lorsque j'ai mis 'mavaleur' à 'jason' il stocke%22jason%22
(fiddle). Cela signifie que vous pouvez définir des valeurs pour les objets javascript si vous le souhaitez et le cookieStore va sérialiser et désérialiser pour vous.Essayez d'utiliser
$cookies
au lieu où vous pouvez simplement définir les propriétés et les valeurs ne sont pas encodés (fiddle):$cookies['r'] et $cookies.r undefined dans les deux cas
qu'est-ce que le document.cookie " (afficher dans la console?
Je s'est avéré que le cookie, j'ai été de l'envoi au serveur a été créé avec HttpOnly = vrai, peu importe quel que soit le paramètre que j'essayais de passer, résolu avec une solution de contournement (faut que je demande à ce problème) merci pour l'aide!
OriginalL'auteur Jason Goemaat
Oui @Pedro est à droite .NET ,par exemple, dans le cas d'une authentification avec HttpCookie par défaut de l'attribut HttpOnly est vrai et en javscript -> document.cookie ne trouvez pas le cookie que vous venez d'enregistrer pour le navigateur.
Il a travaillé pour moi en mettant à false HttpOnly lors de l'enregistrement du cookie.
Que devrait être un commentaire. avec 51 réputation, vous devriez être en mesure de commenter.
OriginalL'auteur user3419843