[解決済み] JSでdocument.cookieからクッキーにアクセスできないが、ブラウザはクッキーが存在すると表示する。
質問
JavaScriptからクッキーにアクセスすることができません。私はいくつかの値を読み取り、私のカスタムチェックのためにJSONを介してそれらを送信する必要があります。
で説明されているように、JSからCookieにアクセスすることを試みました。
コードを見てわかるように、次には水晶のようにクリアに見えます。
var c_value = document.cookie;
にアクセスしようとすると
document.cookie
の値にアクセスしようとすると、空の文字列が
式を見る
:
というわけで、必要なクッキーの値が読めません。
関連する値を取得するために送信しているCookieの名前は正しいことを確認しました。 また、私は W3Schools のソースコードを使用していますが、2番目のリンクから、テクニックは似ています。
どのようにすれば私の問題を解決できますか?
どのように解決するのですか?
あなたが対処しているのは、ほとんどの場合
httponly
クッキーを使っています。
httponly
は、クッキーに設定できるフラグで、JavaScriptでアクセスできないことを意味します。これは、悪意のあるスクリプトが機密データやセッション全体を含むクッキーを盗むのを防ぐためです。
そのため
httponly
フラグを無効にするか、あるいはJavaScriptにデータを取り込むための別の方法を見つける必要があります。
あなたのコードを見れば、http onlyフラグを無効にするのは簡単なはずです。
Response.AddHeader("Set-Cookie", "CookieName=CookieValue; path=/;");
Response.SetCookie(new HttpCookie("session-id") { Value = Guid.NewGuid().ToString(), HttpOnly = false });
Response.SetCookie(new HttpCookie("user-name") { Value = data.Login, HttpOnly = false });
これでJavaScriptからCookieの情報にアクセスできるようになりました。しかし、あなたがどのようなデータを取得しようとしているのか正確にはわかりませんので、例えば、クッキーを読み取ろうとする代わりに、必要な情報を持つデータ属性をページ上にレンダリングするなど、別のアプローチを取ることができるかもしれません。
<div id="example" data-info="whatever data you are trying to retrieve"></div>
console.log(document.getElementById('example').getAttribute('data-info'));
関連
-
[解決済み] なぜCSRF防止トークンをクッキーに入れるのが一般的なのですか?
-
[解決済み】Cookieに使用できる文字は何ですか?
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] BlobからArrayBufferへ移行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] JavaScript のオブジェクトの配列を比較し、最小値/最大値を取得する
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]