Jquery 获取JavaScript中的当前会话值?
我有一个场景,我在浏览器中打开web应用程序,但在两个单独的选项卡中打开 在一个选项卡中,我从应用程序注销,因此所有会话值都变为null。在另一个选项卡中,我单击了webapplication中的锚定标记。在锚定标记的jquery on click事件中,我检查了会话值。在这里,我应该将会话设置为null(因为我从另一个选项卡注销了应用程序),但我将会话设置为logged-in-user(可能是因为没有发生页面刷新) 我的想法是在jQuery上检查会话,如果会话为null,则让应用程序注销,否则显示一个弹出页面 下面是我获取会话值的代码Jquery 获取JavaScript中的当前会话值?,jquery,asp.net,session,Jquery,Asp.net,Session,我有一个场景,我在浏览器中打开web应用程序,但在两个单独的选项卡中打开 在一个选项卡中,我从应用程序注销,因此所有会话值都变为null。在另一个选项卡中,我单击了webapplication中的锚定标记。在锚定标记的jquery on click事件中,我检查了会话值。在这里,我应该将会话设置为null(因为我从另一个选项卡注销了应用程序),但我将会话设置为logged-in-user(可能是因为没有发生页面刷新) 我的想法是在jQuery上检查会话,如果会话为null,则让应用程序注销,否则
$(".a".click(function(){
var session=var data = '@Session["UserName"]';
if(session!=null){
//Show popup
}
else{
//Show loginpage
}
}))
如何在jQuery中获取当前会话值?像这样尝试
var username= "<%= Session["UserName"]%>";
string description = accessDB.LookupSomeString(key, ImpDate);
this.Session["description"] = description;
var username=”“;
另一种方法是
在您的chtml中
<input type="hidden" id="hdnSession" data-value="@Request.RequestContext.HttpContext.Session['someKey']" />
或者您可以直接通过
jQuery(document).ready(function ($) {
var value = '@Request.RequestContext.HttpContext.Session["someKey"]';
});
会话是服务器端的东西,您不能使用jQuery访问它。
您可以编写一个Http处理程序(它将共享sessionid,如果有的话),并使用
$从那里返回值。ajax
使用Javascript访问和分配会话变量:
<script type="text/javascript">
function SetUserName()
{
var userName = "Shekhar Shete";
'<%Session["UserName"] = "' + userName + '"; %>';
alert('<%=Session["UserName"] %>');
}
</script>
<script type="text/javascript">
function GetUserName()
{
var username = '<%= Session["UserName"] %>';
alert(username );
}
</script>
使用Javascript分配ASP.NET会话变量:
<script type="text/javascript">
function SetUserName()
{
var userName = "Shekhar Shete";
'<%Session["UserName"] = "' + userName + '"; %>';
alert('<%=Session["UserName"] %>');
}
</script>
<script type="text/javascript">
function GetUserName()
{
var username = '<%= Session["UserName"] %>';
alert(username );
}
</script>
函数SetUserName()
{
var userName=“Shekhar Shete”;
'';
警报(“”);
}
使用Javascript访问ASP.NET会话变量:
<script type="text/javascript">
function SetUserName()
{
var userName = "Shekhar Shete";
'<%Session["UserName"] = "' + userName + '"; %>';
alert('<%=Session["UserName"] %>');
}
</script>
<script type="text/javascript">
function GetUserName()
{
var username = '<%= Session["UserName"] %>';
alert(username );
}
</script>
函数GetUserName()
{
var用户名=“”;
警报(用户名);
}
按照我的解决方法,我在controller中编写了一个函数,并在jquery单击事件中通过ajax访问它 首先,我要感谢@Stefano Altieri为我提供了如何实现上述场景的想法,您完全正确,会话过期时,我们无法从客户端访问当前会话值
另外,我想说的是,正确阅读问题将有助于我们仔细回答问题。在会话中使用id或类和值的隐藏字段,并使用javascript获取它 Javascript
var session=$('#session').val()//通过jQuery获取我测试了这个方法,它对我有效。希望它有用 假设您有一个名为index的文件。php
当用户登录时,您将用户名存储在php会话中;例如$_会话['username'] 您可以在index.php文件中执行类似的操作
<script type='text/javascript'>
var userName = "<?php echo $_SESSION['username'] ?>"; //dont forget to place the PHP code block inside the quotation
</script>
它可能非常有用,因为它使我们能够在ajax查询中使用用户名和其他用户数据stoerd作为cookie,用于更新数据库表等
如果不想使用javascript变量来包含信息,可以使用带有“type='hidden'的输入
例如,在index.php文件中,写入:
<?php echo "<input type='hidden' id='username' value='".$_SESSION['username']."'/>";
?>
$(文档).ready(函数(){
var userId=;
警报(用户标识);
})
**在jQuery中获取当前会话值**
我就是这样使用的->
<body onkeypress='myFunction(event)'>
<input type='hidden' id='homepage' value='$_SESSION[homepage]'>
<script>
function myFunction(event){var x = event.which;if(x == 13){var homepage
=document.getElementById('homepage').value;
window.location.href=homepage;}else{
document.getElementById("h1").innerHTML = "<h1> Press <i> ENTER </i> to go back... </h1>";}}
</script>
</body>
函数myFunction(event){var x=event.which;if(x==13){var
=document.getElementById('homepage')。值;
window.location.href=homepage;}else{
document.getElementById(“h1”).innerHTML=“按ENTER键返回…”;}
我正在使用C#mvc应用程序。我在Controller类中创建了一个会话,如下所示
var username= "<%= Session["UserName"]%>";
string description = accessDB.LookupSomeString(key, ImpDate);
this.Session["description"] = description;
在视图中,我们访问会话值并将其存储在变量中,如下所示
(这在$.ajax中,但我认为它应该在任何jquery中都能工作)
在页面中使用Razor代码会容易得多
在我的示例中,我需要使用会话变量设置一个隐藏字段
$('#clearFormButton').click(function(){
ResetForm();
$('#hiddenJobId').val(@Session["jobid"]);
});
这很简单。请记住,您需要在会话前使用@sign for razor语法。否它返回会话的值,而不是null。请确保在加载视图之前,您的会话已填充值。这不会返回'someKey'的最新值,而是页面初始化时的值。set可能重复“用户名”作为cookieinstead@SparAby你也很仔细地写了问题标题,正如你提到的“Javascript中的会话值”,因此我在这里发布了!如何通过阅读问题标题来发布答案。请同时阅读问题…通过阅读你在这里的文本“会话到期时,我们无法从客户端访问当前会话值?”“。我想知道当会话变量“过期”时如何访问它”?不您无法访问过期的会话,对吗?另外,我想说的是,正确地撰写您的帖子也有助于我们理解……!:)这个问题似乎是关于.NET的,而不是关于PHP的。与OP问题无关……PHP不适合作为.NET问题的解决方案。@SparAby,这可能是因为双引号“未正确删除。您可以尝试var username=”“;