ajax后台重定向会返回什么_Ajax关于重定向

AJAX用于异步与服务器交互,不刷新页面。当后台重定向时,XMLHttpRequest对象不会返回302状态码,而是直接发起重定向请求,返回200状态和text/html类型的数据,内容为重定向后的页面HTML。若在嵌套页面中,需防止页面被再次嵌套显示。
摘要由CSDN通过智能技术生成

AJAX即Asynchronous Javascript And Xml,异步javascript和xml,主要用户在不刷新页面的情况下与服务器数据交互。

Ajax主要用到的对象为XMLHttpRequest(在IE5、IE6中为ActiveXObject)

if(window.XMLHttpRequest){

xmlhttp = new XMLHttpRequest();

}

else{

xmlttp = new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.open(method,url,async);

xmlhttp.setRequestHeader()

xmlhttp.onreadystatechange = function(){

if(xmlhttp.readyState ==4&&xmlhttp.status==200){

xmlhttp.getResponseHeader(string)

xmlhttp.responseXML

xmlhttp.responseText

}

}

xmlhttp.send(string);

---------------------------------------------------------------------------------------------------------

&.ajax({

type:"GET",

url:"http://",

success:function(msg){},

error:function(xmlhttprequest,textstatus,errorThrow){},

statusCode:{

404:function(){}

},

complete:function(xmlhttprequest,textstatus){}

});

正常情况下,ajax向指定url以指定方法发送数据,服务器处理完之后返回状态200,且content-type:text/plain的数据,客户端接收到返回的数据进行处理。如果发送ajax数据时session已过期,服务器要求重定向到登陆页面,此时前台并不能获取到302的状态码,XMLHttpRequest对象会直接向后台发起重定向请求,然后返回状态200,content-type:text/html;msg以及responseText为登陆页面的html。

在complete中判断如果返回的content-type为text/html则显示该页面

document.write(xmlhttprequest.responseText);

document.close();(必须的)

如果ajax请求是在嵌套页面中发送的,登陆页面要显示在最顶层的页面中,可以在登录页面中调用

if (top.location != window.location) {

top.location = window.location;

}

防止页面嵌套。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值