JavaScriptのPHPセッションに相当
JSでセッションを実装する方法について質問しようとしていましたが、この例のように使用できる関数がいくつか見つかりました:
String exforsys = request.getParameter("test");
session.setAttribute("test", exforsys);
次に、 session.getAttribute( exforsys);
しかし、応答はありません。サーブレットなどでのみ使用されていると思います。
とにかく、セッションを使用する以外の方法があるかもしれないと判断しました。1ページのリンクをクリックし、押されたリンクに応じて、異なる情報をロードします。
onclick
関数なので、JSで立ち往生しています!
この情報を2ページ目に渡す必要があります。これは、PHPとJSの両方で簡単に処理できるため、Cookieは適切に機能しますが、一部のコンピューターはCookieを削除するため、これは適切ではありません。
セッションを使用せずに、希望するものに到達するための提案やその他の方法はありますか?
答え :
解決策:
セッションはサーバー変数です。したがって、JavaScriptでは使用できません。
ただし、ajaxリクエストを介してセッション変数を取得できます。
スクリプト(jQuery)
//This portion will be triggered once the DOM is loaded and is ready
$(document).ready(function() {
$.post("getsession.php",
{ "variable" : "yourneededsessionvariable" },
function(data) {
//data contains your session data
}
);
});
PHP
//getsession.php
<?PHP
session_start();
echo $_SESSION[$_POST['variable']];
?>
答え :
解決策:
ローカルストレージまたはクライアント制御のCookieを使用します。。セッションはサーバー制御のCookieを使用します。 Cookieは、クライアントに存在する単なる小さなファイルです。
答え :
解決策:
セッションハンドルはCookieに保存されます。 Cookieが受け入れられない場合、サーバーはsessionIDをURLに追加します。 Cookieがない場合、URL以外には何も永続化できません。
「onclick」によってセッションの使用が停止するのはなぜですか?サーバーにajaxして、セッションに追加することができますonclick
答え :
解決策:
セッションとは、通常、「サーバーに保存され、Cookieに保存されたトークンを介してユーザーに関連付けられた一部のデータ」を意味します。クライアント側のJavaScriptではそれを行うことはできません(明らかな理由により)。
データをCookieに直接保存できます。
幅広いブラウザサポートを犠牲にする場合は、HTML5とFriendsによって導入されたクライアント側のストレージメカニズムの1つを使用してストレージを増やすことができます。
誰かがセッションを使用する以外の方法を持っているかもしれません。何をしようとしているのかは、1ページのリンクをクリックすることです。どのリンクが押されたかに応じて、異なる情報をロードします。
別のページにリンクするだけです。
一部のコンピューターはCookieを削除しますが、それは良くありません
すべてのCookieを削除すると、セッションも機能しなくなります。
答え :
解決策:
次のページで取得するデータをクエリ文字列に追加します。
<a href="foo.html?bar=123">123</a>
<a href="foo.html?bar=456">456</a>
次に、foo.htmlで、 location.href
を調べて何が渡されたかを確認できます。ここではCookieは必要ありません。
答え :
解決策:
PHPはサーバーの暗号化言語であり、javascriptはクライアントの終了言語です JavaScriptで文字通りセッションを作成することはできません
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。