0

サーバーのセッションから重複したデータを持つ js オブジェクトを持つことは一般的ですか?

たとえば、ユーザーがログインしている場合、このサーバー側を my に保存します$_SESSION。しかし、私がクライアントにいるときは、DOM の一部をチェックするか (これは悪いことです)、Ajax 呼び出しを送信して の値をチェックしないと、ログイン状態をチェックできません$_SESSION。重複データを保持する js オブジェクトを作成する必要がありますか?

常に 2 つのオブジェクトを同期させる必要があるため、悪い考えのように思えますが、これを解決する方法が他にわかりません。

4

1 に答える 1

0

ブラウザーが読み込まれるときに Javascript の数行をブラウザーにエコーするか、$_SESSION 変数が必要なときにプルされる別のスクリプトを用意することができます。したがって、次の行のみを含むファイル「session.php」を作成できます。

<?php
    session_start();
    echo json_encode($_SESSION);
?>

次に、Javascript/HTML でそれを使用できます (派手な AJAX などを行う必要がないように):

var session = <?php include('session.php'); ?>

ここでライブの例を作成しました: http://home.edgemontgeek.com/dev/stackoverflow/14919887/ ここでコードをダウンロードできます: http://home.edgemontgeek.com/dev/stackoverflow/14919887/code 。ジップ

それらを同期させておく必要があることに注意してください。ページのロード間でそれらを変更したい場合は、AJAX と json_decode を調べる必要があります。

于 2013-02-17T10:11:28.433 に答える