ASP.NET页面跨域访问 SESSION失效

killzz1982 2009-06-25 12:27:36
在服务器1 ASP.NET前台页面的js里面异步请求一个服务器2 PHP页面response.php,由于2台服务器不同域,需要跨域访问,所以中间使用了asp.net代理服务器页面server.aspx;

访问步骤是: js(ajax) --> server.aspx(服务器端跨域访问) --> response.php -->回发到server.aspx --> 回发到 js

在js里面调用了2个方法:登陆 login()和 检查登陆状态 chk_login(),写法是onclick='login();chk_login();'


其中login()方法会使服务器2中的session[username]被赋值,并回传"login success",chk_login()会去判断session[username]然后根据结果回传user的信息或是回传"need to login"

出现问题:执行onclick='login();chk_login();'时

调用login()时成功回传"login success",然后调用chk_login()是回传"need to login"

个人认为是chk_login()的时候服务器session[username]失效,不知道是不是用了跨域访问导致这样的结果

请教达人,先谢过
...全文
392 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujiayou 2011-08-08
  • 打赏
  • 举报
回复
顶一下
jinemirates 2009-06-29
  • 打赏
  • 举报
回复
如果这种方法不行的话,你可以用另外一种方法,如获取页面间传送的值。
wlc_win 2009-06-29
  • 打赏
  • 举报
回复
标记一下
flybird066 2009-06-29
  • 打赏
  • 举报
回复
是session失效的原因,不知道你要实现什么功能,如果就需要一个返回值的话,你可以把人员作为参数传递给server.aspx和response.php,然后直接使用返回值就业了,一般情况下跨域需要书写webservice,通过webservice调用。
John_Hee 2009-06-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
通过ajax异步传输数据实现判断或
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("");

HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
[/Quote]
up
liwei920 2009-06-25
  • 打赏
  • 举报
回复
回帖是一种美德!每天回帖即可获得 10 分可用分!
wuyq11 2009-06-25
  • 打赏
  • 举报
回复
通过ajax异步传输数据实现判断或
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("");

HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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