javascript を使用して HTML ページでセッション処理を行うことはできますか?
はいの場合、どのように?そうでない場合、なぜですか?
JavaScript は Cookie のみをサポートします。ユーザー セッションを追跡するように設定できますが、セッションの使用はサポートされていません。
function createCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
expires = "; expires="+date.toGMTString();
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length,c.length);
}
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
セッションはサーバー側のメカニズムであるため、セッションを開始および管理するにはサーバー ロジックが必要です。
「セッション」という用語は通常、サーバー側のメカニズムに使用されますが、サーバー側のスクリプトなしでは当然使用できませんが、ログイン追跡のみが必要な場合は、JS で疑似セッションを実装できます。
setinterval()
、非表示フィールドの値が許可されたセッション時間よりも古いかどうかを確認しますただし、注意してください。
javascriptを使用してHTMLページでセッション処理を行うことはできますか?
間接的に。AJAXを使用して、セッション対応のサーバー側HTTPハンドラーを呼び出します。jQuery.ajax()
AJAXを簡単にし、多くの例があります。
たとえば、これは.Netで、WCFエンドポイント、Webサービス、またはセッション状態が維持されているのと同じプロセスにアクセスできるページを呼び出すことによって行われます。
この方法で、セッションで値を取得/設定することができます。
JS からセッションに直接アクセスすることはできません。JavaScriptがクライアントで実行されている間、サーバーに保存されます。ただし、間接的に行うこともできます。たとえば、隠しフィールドに保存し、サーバーに送信し、隠しフィールドの値を取得してセッションに割り当てます。