A refusé d'dangereuses en-tête “Cookie” erreur dans le navigateur mais la demande est acceptée
Je suis en utilisant Angularjs. Lorsque j'ai mis Cookie
- tête avec xhr.setRequestHeader()
j'obtiens l'erreur suivante sur google Chrome:
Refused to set unsafe header "Cookie"
Cependant, la Cookie
est inclus dans la demande et envoyé avec succès au serveur. Il me semble avoir tout configuré correctement pour permettre Cookie
en-tête sur le serveur et le client:
pour le serveur j'ai:
Header add Access-Control-Allow-Credentials "true"
pour le client, je le préciser:
withCredentials
Pourquoi est-ce une erreur?
Je suppose que le navigateur gère le cookie en-têtes par lui-même.
hey, merci, que voulez-vous dire par là? 🙂
Je sais que Chrome ne vous permettra pas de définir le contenu de longueur par exemple. Il le fait pour vous. Donc je suppose que c'est peut-être la même chose avec l'en-tête de cookie.
Je suppose que c'est exactement cela! Après j'ai enlevé
comment avez-vous résoudre ce problème? vous pouvez poster votre code
hey, merci, que voulez-vous dire par là? 🙂
Je sais que Chrome ne vous permettra pas de définir le contenu de longueur par exemple. Il le fait pour vous. Donc je suppose que c'est peut-être la même chose avec l'en-tête de cookie.
Je suppose que c'est exactement cela! Après j'ai enlevé
setRequestHeader()
de mon code de la Cookie
en-tête est toujours transmis au serveur. Merci! Bonne chance!comment avez-vous résoudre ce problème? vous pouvez poster votre code
OriginalL'auteur Max Koretskyi aka Wizard | 2015-01-31
Vous devez vous connecter pour publier un commentaire.
Vous obtenez cette erreur à partir de Chrome parce que, par le XHR spécification, le
setRequestHeader
méthode ne devrait pas définir les en-têtes avec un interdit le nom d'en-tête.Par la spécification:
Au lieu de cela, Angulaire 1.x, définir le cookie en utilisant
$cookies
, et il sera inclus dans la suitexhr
demandes.OriginalL'auteur Seamus
Ce "modèle" fonctionne pour moi
ouvert du développeur-outils et essayez d'exécuter
$.ajax
plaçant lesetRequestHeader
dans lebeforeSend
méthode.prises De Libéré HTML5, et W3CCross-Origin Resource sharing.
OriginalL'auteur
si vous avez les cookies envoyés plus, je pense que ce serait assez bon. Avoir " crossDomain: true,
withCredentials: vrai
"a résolu le problème de "a Refusé d'dangereuses en-tête de “Cookie”," j'ai rencontré. Même si le message d'alerte toujours là, cependant, j'ai le cookie envoyé plus et avoir une réponse en retour.
OriginalL'auteur lwpro2