通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
2014-12-08 16:23
756 查看
在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面。
这个流程在进行页面请求时是没问题的,能正确进行页面跳转。
然而在使用xmlhttprequest时,或者jq的getJson那种jsonp的方式来请求资源,服务器将会把这种跳转解释为 ‘资源已重新定位’ ,返回码为302。
但是浏览器将结果返回给ajax时并不会解析成302 found,而是会先进行一次资源跳转,将跳转后的新资源返回给ajax作为结果。
此时就需要手动去判断出ajax请求,手动返回302以便ajax捕获状态。
同时在前端,需要为angular配置一个http拦截器,拦截所有的responseError,若错误码为302,则根据错误信息进行页面跳转。
在后台进行页面跳转时:
为angular配置http拦截器
在配置中添加拦截器
这个流程在进行页面请求时是没问题的,能正确进行页面跳转。
然而在使用xmlhttprequest时,或者jq的getJson那种jsonp的方式来请求资源,服务器将会把这种跳转解释为 ‘资源已重新定位’ ,返回码为302。
但是浏览器将结果返回给ajax时并不会解析成302 found,而是会先进行一次资源跳转,将跳转后的新资源返回给ajax作为结果。
此时就需要手动去判断出ajax请求,手动返回302以便ajax捕获状态。
同时在前端,需要为angular配置一个http拦截器,拦截所有的responseError,若错误码为302,则根据错误信息进行页面跳转。
在后台进行页面跳转时:
为angular配置http拦截器
在配置中添加拦截器
相关文章推荐
- Struts 通过拦截器实现登录后跳转到登录前页面 处理普通Http请求和Ajax请求时拦截配置
- 制作一个银行卡用户登录页面,提交后连接数据库进行登录验证,根据验证结果跳转到不同页面
- 在登录页面中js进行正则验证电话号码和邮箱地址,并使用ajax进行用户ID的数据库验证
- Session过滤器 对指定路径下的请求进行session的失效验证,如失效则跳转到登录页面
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- 利用ajax实现登录:验证完用户信息后如何保存用户信息并实现跳转
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- ajax请求后根据条件进行页面跳转
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- asp中通过access数据库进行用户登录验证
- 好友列表右键菜单进行Ajax请求时直接跳转至登陆页面
- web 开发,个人中心每个请求,判断用户是否登录,若没有登录,则跳转到登录页面,登录成功后返回之前页面
- 重写ajax方法实现异步请求session过期时跳转登录页面
- ASP.NET jQuery 食谱11 (通过使用jQuery validation插件简单实现用户登录页面验证功能)
- 配置H3C交换机实例(设置安全策略版,通过源IP地址对WEB登录用户进行控制)[连载之电子商务系统架构]
- struts2用户是否登录拦截器,拦截之后异步跳转到登录页面
- Struts2 拦截器处理普通Http请求和Ajax请求时拦截配置
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 重写ajax方法实现异步请求session过期时跳转登录页面