JQUERY里面怎么获取Session的值或者后台public的变量。

duogedexiaohao3 2012-08-23 12:20:02
如题。
js文件里面用'<%=Session["USER"]%>' 取不到Session里的值 alert出来就直接弹出'<%=Session["USER"]%>'。
然后又试了在后台写了一个public变量,在pageload里面把Session值当作变量的值然后在js文件里用"<%=NowUid%>"取,但是和上面的结果一样都以一个字符串的格式alert 出现。

请问怎么才能获取到Session里面的值或者底层的变量的值。
有什么办法能够获取到呢?
...全文
12873 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gestaporay 2014-11-06
  • 打赏
  • 举报
回复
很简单,已经实现,把session【user】放到一个隐藏域的value中即可调用
scscms太阳光 2012-08-23
  • 打赏
  • 举报
回复
你是不是想告诉我们<%=Session["USER"]%>直接写在js文件里?
session的值应该用ajax读取asp或php之类的动态脚本文件才行。或者在动态脚本文件里写javascript与动态脚本混合代码。
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

回调函数中获取啊,晕,alert那儿不就使用了这个变量?
$.get("xxx.aspx",{},function(data)
{
//在这个函数中写你的处理代码,data即为从后台读取到的值
}
)
[/Quote]

嗯 我已经把我要处理的方法写在 function里面了。我还在调试。
未知数 2012-08-23
  • 打赏
  • 举报
回复
回调函数中获取啊,晕,alert那儿不就使用了这个变量?
$.get("xxx.aspx",{},function(data)
{
//在这个函数中写你的处理代码,data即为从后台读取到的值
}
)

duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:
引用 7 楼 的回复:

前台:
$.get("xxx.aspx",{},function(data){alert(data);})

我不信这样还不行


这样取到是取到了ID 但还包含了那个aspx前台的所有代码- -


不会的,只要写了Response.End()句,是不会发送整个页面的
[/Quote]

我现在能弹出来了,但是怎么获取这个值?
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:
引用 7 楼 的回复:

前台:
$.get("xxx.aspx",{},function(data){alert(data);})

我不信这样还不行


这样取到是取到了ID 但还包含了那个aspx前台的所有代码- -


不会的,只要写了Response.End()句,是不会发送整个页面的
[/Quote]
真显示了。我直接把页面代码全部干掉了。就剩下一个3。
未知数 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
引用 7 楼 的回复:

前台:
$.get("xxx.aspx",{},function(data){alert(data);})

我不信这样还不行


这样取到是取到了ID 但还包含了那个aspx前台的所有代码- -
[/Quote]

不会的,只要写了Response.End()句,是不会发送整个页面的
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

前台:
$.get("xxx.aspx",{},function(data){alert(data);})

我不信这样还不行
[/Quote]

这样取到是取到了ID 但还包含了那个aspx前台的所有代码- -
不訴離傷 2012-08-23
  • 打赏
  • 举报
回复
你可以在页面上再去继承一个父类,在父类里面注册一些通过代码注册一些隐藏域,这样不就可以直接通过jquery来得到吗。

用c#举例

test1.aspx.cs这个页面去继承一个类 WebPage.cs

WebPage.cs再去继承System.Web.UI.Page
这样不就可以在WebPage.cs中通过
ClientScriptManager csm = this.ClientScript;
csm.RegisterHiddenField("foo", Session["foo"].ToString());

客户端 var foo = $('#foo').val();
danielnie 2012-08-23
  • 打赏
  • 举报
回复
两种方法:
1、你写个aspx或ashx,把Session值Response.write出来;
2、你的js直接改写成aspx,这样直接在里面写<%=Session["USER"]%>也就行了。
hch126163 2012-08-23
  • 打赏
  • 举报
回复
1、 用ajax 获取
2、'<%=Session["USER"]%>' 放到,aspx 页面代码。

<%=> 在服务器解析执行,js 文件服务器是不会解析的。
未知数 2012-08-23
  • 打赏
  • 举报
回复
前台:
$.get("xxx.aspx",{},function(data){alert(data);})

我不信这样还不行
未知数 2012-08-23
  • 打赏
  • 举报
回复

这样写:
Response.Write(Session["USER"].ToString());
Resopnse.End();
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
$.get("xxx.aspx")

xxx.aspx里面response.write Session["USER"]

用Ajax

<%=%>的方式是表示中间的代码为后台代码,不是在js中获取后台变量的值,而且这个后台代码是由后台页面对象执行,然后用结果替换<%=%>后和html代码一起发送到前台

明白原理之后,在js文件中这种方式失败应该是可……
[/Quote]

那要怎么办呢 我用那个 get aspx 弹出后是 [Object object] toString 也一样
未知数 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
$.get("xxx.aspx")

xxx.aspx里面response.write Session["USER"]
[/Quote]
用Ajax

<%=%>的方式是表示中间的代码为后台代码,不是在js中获取后台变量的值,而且这个后台代码是由后台页面对象执行,然后用结果替换<%=%>后和html代码一起发送到前台

明白原理之后,在js文件中这种方式失败应该是可以理解的了,js文件是由浏览器输出html时发现js文件节点后才加载的,那时后台页面对象的生存期已经结束(html代码发送后后台page对象就析构了),当然无法执行后台代码,所以js文件中不可能支持这种方式。
孟子E章 2012-08-23
  • 打赏
  • 举报
回复
$.get("xxx.aspx")

xxx.aspx里面response.write Session["USER"]
duogedexiaohao3 2012-08-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你是不是想告诉我们<%=Session["USER"]%>直接写在js文件里?
session的值应该用ajax读取asp或php之类的动态脚本文件才行。或者在动态脚本文件里写javascript与动态脚本混合代码。
[/Quote]

那要怎么办,我在JS文件里面需要获取到SESSION的值,有什么办法能获取到吗,存在某个JS文件能获取到的地方也行。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧