添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
乐观的芒果  ·  Cloudfront CDN 字体被 ...·  1 年前    · 
胆小的豆浆  ·  System.Windows.Markup. ...·  1 年前    · 
叛逆的山楂  ·  Python (2.x) list / ...·  1 年前    · 

Ajax请求如何重定向

在前端使用Ajax请求,后端使用HttpServletResponse.sendRedirect(“URL”);的情况下,页面并未发生跳转,这是为什么呢?

默认ajax是不支持重定向的,因为ajax本身就是局部刷新,不重新加载页面的。

后端java设置重定向Header

HttpServletResponse response = CommonUtils.getHttpServletResponse();
HttpServletRequest request = CommonUtils.getHttpServletRequest();
//告诉ajax我要重定向
response.setHeader("REDIRECT", "REDIRECT");
//告诉ajax我重定向的路径
response.setHeader("CONTENTPATH", loginJumpUrl + "&NextAction=" + URLEncoder.encode(request.getHeader("referer"), "utf8"));

前端common.js全局设置ajax请求完成后处理逻辑

//设置全局ajax处理逻辑
$.ajaxSetup({
    //设置ajax请求结束后的执行动作
    complete: function (xhr) {
        // 通过XMLHttpRequest取得响应头,sessionstatus
        if("REDIRECT" == xhr.getResponseHeader("REDIRECT")){ //若HEADER中含有REDIRECT说明后端想重定向,
            var win = window;
            while(win != win.top){
                win = win.top;
            win.location.href = xhr.getResponseHeader("CONTENTPATH");//将后端重定向的地址取出来,使用win.location.href去实现重定向的要求
});
                    Ajax请求如何重定向背景在前端使用Ajax请求,后端使用HttpServletResponse.sendRedirect(“URL”);的情况下,页面并未发生跳转,这是为什么呢?原因默认ajax是不支持重定向的,因为ajax本身就是局部刷新,不重新加载页面的。解决方法后端java设置重定向HeaderHttpServletResponse response = CommonUtils.getHttpServletResponse();HttpServletRequest request =
				
在修改公司的老项目中,遇到了一个问题,就是session失效的时候,在页面没有刷新的情况下,点击操作无效,查了一下,原因是ajax机制无法实现重定向,查了很久的资料,现有一下解决方法(都是百度得来的,自己整理一下方便以后使用) 1.ajax 是默认就是不支持重定向的,它是局部刷新,不重新加载页面。 2.我的解决办法就是从前后端都做处理,项目中遇到重定向大多出现在拦截器或者过滤器中。在项目中我使...
一、ajax重定向的问题。 默认ajax是不支持重定向的,因为ajax本身就是局部刷新,不重新加载页面的。如果需要用到重定向可以通过以下方法: 第一步:后端代码改造。 在后端(大部分情况都是拦截器)中判断是否需要重定向。 Eg:session过期判断,当判断session已经过期了,就先判断此次请求是否是ajax的请求。 String type =request.getHead
1.原因是 服务器得到是ajax发送过来的request,也就是说这个请求不是浏览器请求的,而是 ajax请求的所以,servlet对request进行请求转发或重定向都不能影响浏览器的跳转 2.这时出现请求转发和重定向失效的问题
在项目中,考虑到web前台ajax请求未登录资源时,后台返回的重定向信息,ajax不能自动判断是否是重定向,以下是一种折中方法,如各位有什么更好的方法,还请告诉我一声,哈哈 下面进入正题............. LoginInterceptor.java: import javax.servlet.http.HttpServletRequest; import javax.servlet.
由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的跨域问题。本篇将讲述一个小白从遇到跨域不知道是跨域问题,到知道是跨域问题不知道如何解决,再到解决跨域问题,最后找到两种方法解决ajax 跨域问题的全过程。 不知是跨域问题 起 因是这样的,为了复用,减少重复开发,单独开发了一个用户权限管...
Ajax请求中,如果服务器端返回的是重定向状态码(如302或301),那么Ajax会自动进行跳转,但是由于浏览器的同源策略的限制,跨域请求的重定向是不被允许的,因此会导致跨域问题。 解决这个问题的方法有以下几种: 1. 使用JSONP方式进行跨域请求,因为JSONP不是通过XMLHttpRequest请求实现的,而是通过动态添加<script>标签来实现的,因此不存在跨域问题。 2. 在服务端设置Access-Control-Allow-Origin头部信息,允许指定的跨域请求,这种方法需要服务器端进行设置。 3. 使用代理服务器,将跨域请求转发到同源的服务器上进行处理,然后再将处理结果返回给客户端,这种方法需要借助第三方代理服务器来实现。