0

JavaScriptまたはJqueryを介してセッション変数にセッション値を挿入することは可能ですか?

私はそれが機能session["variable_name"] = "some value";しないのが好きでした

私も<%session["variable_name"] %> = "some value" これがうまくいかないように試しました。

ただし、セッションから読み取ることは可能です。

それは..Javascriptに「Session」という名前のキーワードがないことを示しています。

回避策...

今、私はクッキーを通してそれをしました、しかし私はセッションを通してこれをする必要があります。

ここで経験した人はいますか?

4

4 に答える 4

0

通常、セッションはサーバーに保存されるため、ブラウザーで実行される JavaScript と jquery はセッションにアクセスできません。セッションから読み取るということは、サーバーが js がアクセスできる場所から値を html にレンダリングすることを意味します。

Cookie はブラウザーにも存在するため、js はそれらに直接アクセスできます。

回避策として、セッションに挿入するキー/値を投稿するある種の ajax 呼び出しを記述し、サーバー側でこの値を取得してセッションに入れる小さなヘルパーを作成できます。

于 2012-08-16T06:07:31.833 に答える
0

ページでセッション変数を「ライブ」に変更したい場合は、$.ajax を使用して、PHP スクリプトでセッション変数を設定する小さなスクリプトを実行できます。

var data = 'sessioninfoiwanttostore='+myJavascriptVar ;
$.ajax({
    url: 'set-session-script.php',
    type: 'POST',
    data: data
})

次に、PHP スクリプトで次のようにします。

<?PHP
session_start() ;
$_SESSION['whatever'] = $_POST['sessioninfoiwanttostore'] ;
?>

ただし、セッション変数に基づいて既に読み込まれているページ上のデータは変更されないことに注意してください。

于 2012-08-16T06:02:53.980 に答える
0

PHP セッション値はサーバー上で設定されます。つまり、javascript がそれらを操作できる唯一の方法は、値を設定するために ajax を使用して別のページにリクエストを行う場合です。たとえば、JS:

$('.updateSession').on('click', function(){
    $.post('updatesession.php', 'name=john', function(){
        alert('Session Updated!');
    })
});

PHP:

<?php
    session_start();
    if($_SERVER['REQUEST_METHOD'] === 'POST'){
        $_SESSION['name'] = $_POST['name'];
    }
?>
于 2012-08-16T06:03:10.367 に答える
0

によってアクセスされるセッション値を更新する C# で webmethod を作成します。

[webmethod]

    public static void sesstion_update(session_value)
    {
        httpcontext.current.session["name"] = session_value;
    }

Jquery のメソッドを使用して $.ajaxこの Web メソッドを呼び出し、データを介してセッションに保存する値を渡します

于 2012-08-16T06:16:44.750 に答える