ホームページ > バックエンド開発 > PHPチュートリアル > 別のページで Javascript Cookie を読み取れないのはなぜですか?

別のページで Javascript Cookie を読み取れないのはなぜですか?

Patricia Arquette
リリース: 2024-10-29 16:25:02
オリジナル
916 人が閲覧しました

Why Can't I Read a Javascript Cookie on a Different Page?

別のページで Javascript で設定された Cookie を読み取ることができません?

JavaScript で Cookie を設定し、別の PHP ページで読み取ろうとしたとき、多くのユーザーが困難に直面しています。 Cookie は作成できますが、その後別の Web ページでアクセスしようとしても失敗します。

解決策の本質

問題の核心は Cookie の設定にあります。特にそのパスとドメイン。 Javascript を使用して Cookie を作成する場合、複数の Web ページ間でアクセシビリティを確保するには、これらの属性を明示的に指定する必要があります。

パスとドメインのパラメータ

パス パラメータは、次の範囲を定義します。 Web サイトのディレクトリ構造内での Cookie の利用可能性。一方、ドメイン パラメータは、特定の Web サイト ドメインまたはサブドメインへの Cookie のアクセスを制限します。

これらの属性を適切に設定するには、次の構文を使用します。

document.cookie = 'cookieName=cookieValue; expires=date; path=/; domain=.website.com'
ログイン後にコピー

次の構文を使用することが重要です。 「website.com」を選択したドメイン名に置き換えることを忘れないでください。さらに、「日付」は将来の有効期限を表す必要があります。

追加の考慮事項

Cookie のパスとドメインが正しく構成されているにもかかわらず問題が解決しない場合は、次のことを検討してください。次の追加要素:

  • サブドメイン: Cookie のドメイン属性に、Cookie にアクセスできるサブドメイン (存在する場合) が含まれていることを確認します。
  • ワイルドカード: すべてのサブドメイン間で Cookie にアクセスできるようにするには、ドメイン名の前にワイルドカード文字 (.) を使用します。
  • ブラウザの互換性: 使用されている Cookie 設定がブラウザでサポートされていることを確認します。

実装例

function createCookie(name, value, days) {
  let date = new Date();
  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  let expires = "; expires=" + date.toGMTString();
  document.cookie = name + "=" + value + expires + "; path=/; domain=.website.com";
}
ログイン後にコピー

結論

Cookie のパスとドメインのパラメーターを適切に設定することによりを使用すると、JavaScript で設定された Cookie を同じドメイン構造内の異なる PHP ページで確実に読み取ることができます。これらのパラメータを理解することは、Web ページ全体で Cookie を効果的に使用するために不可欠です。

以上が別のページで Javascript Cookie を読み取れないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート