可以从javascript / jquery返回返回网址吗?
作者:互联网
我有一个问题,当用户在我的网站上超时时,他们仍然登录.因此,他们仍然可以执行ajax请求.如果他们在我的网站上发出ajax请求,我的asp.net mvc授权标签将阻止此操作.
然后,如果授权失败,则授权通常会将用户重定向回登录页面.
现在,由于这是一个ajax请求,因此似乎正在发生的事情是它将整个页面发送回呈现为html.因此,由于我只是将整个页面作为html发送给我,因此用户永远不会获得重定向.
但是firebug在控制台中这样说:
http:// localhost:3668 / Account / signIn?ReturnUrl =“ return”(这不在网络浏览器的实际网址栏中,因此我无法上去获取它.我似乎只能看透萤火虫.)
所以我不确定,但是也许我能以某种方式从我的errorCallback区域中获取此URL会很棒.
由于根据我的测试,没有错误代码被发送回(发送200 OK).相反,我只是解析错误(因此为什么要调用errorCallback),但是我不能认为每次解析错误都意味着用户超时.
我需要更好的东西.唯一的另一种选择是查看响应并查找关键作品,并查看它是否是登录页面,我认为这样做没有什么好处.
解决方法:
您可能想要执行以下两项操作之一:
>编写您的服务器代码,以使ajax请求在会话过期时返回ajax错误.这样,JavaScript将期望返回指示会话超时的代码,并且您可以告诉用户会话已过期.
>如果由于您的框架如何处理此类问题而无法提供一种优雅的解决方案,则只需在您的登录页面中放置一段HTML注释,例如Uth7mee3之类的东西;然后在您的ajax代码中检查该字符串是否存在.
或者,您也可以在网页上设置计时器,以弄清会话何时超时,并通过一条小消息警告用户,使他们可以续约会话.一旦超时,请清空页面并为他们提供一个链接以再次登录.
标签:c,net,asp-net-mvc,jquery 来源: https://codeday.me/bug/20191210/2101589.html