XMLHttpRequest与标准HttpRequest的不同点

标准的HttpRequest做出一个同步的调用,必须等待服务器端返回响应,然后对页面进行加载(一般会呈递一个新的页面)。XMLHttpRequest可以发送异步请求,也可发送同步请求,但不会进行页面重新加载。当XMLHttpRequest进行请求时,目标页面会呈递特定的MIME类型数据(XML,JSON等)。XMLHttpRequest使用标准的javascript API对服务器端返回的响应进行解析,并且更新目标页面。


前几天,编写程序实现--当Session过期时,用户再次向服务器发送请求时,跳转到登陆页面--功能时,使用了如下代码:

response.sendRedirect("myprojectname/login");

上代码并没有得到预期效果,后来才明白,因为使用的是Ajax请求,XMLHttpRequest与标准HttpRequest不同,response也无法如HttpRequest般实现重定向功能。

只能想其他的解决办法:

服务器端片段代码:

if(request.getSession() == null || request.getSesion().getAttribute("user")  == null) // Session过期

map.put("operation_invalid", "invalid"); // 在Spring中可以使用Jackson,将返回的对象组装成json对象

else

{

......

}


客户端片段代码:

if(data.operation_invalid) // 如果Session过期,这里解析json可能会用到jquery的each方法;

window.location = "myprojectname/login"; //实现跳转


Good Bye, Guys.....



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值