1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ajax java请求413_jQuery - 拦截所有Ajax请求(统一处理超时 返回结果 错误状态码 )...

ajax java请求413_jQuery - 拦截所有Ajax请求(统一处理超时 返回结果 错误状态码 )...

时间:2024-03-07 09:01:09

相关推荐

ajax java请求413_jQuery - 拦截所有Ajax请求(统一处理超时 返回结果 错误状态码 )...

样例代码:

//全局的ajax访问,处理ajax清求时session超时

$.ajaxsetup({

contenttype:"application/x-www-form-urlencoded;charset=utf-8",

complete:function(xmlhttprequest,textstatus){

//通过xmlhttprequest取得响应头,sessionstatus,

var sessionstatus=xmlhttprequest.getresponseheader("sessionstatus");

if(sessionstatus=="timeout"){

//如果超时就处理 ,指定要跳转的页面(比如登陆页)

window.location.replace("/login/index.php");

}

}

});

//获取数据

function getcontent() {

$.get("content.php", function (data){

alert(data);

});

}

//登录或注销

function login(value) {

$.get("login.php",{"login":value} , function (data){

alert(data);

});

}

获取数据

登录

注销

一、统一处理返回结果

我们可以将超时或是其他异常情况放置在返回结果中,前台统一解析结果来进行各种异常处理。

1,后台返回数据样例

比如后台返回如下格式的json数据,包括正常情况和异常情况。

//正常数据返回

{"state":1, "msg":"", "data":"欢迎访问"}

//session超时数据返回

{"state":-1, "msg":"session超时,请重新登录!"}

//异常情况数据返回

{"state":0, "msg":"服务器繁忙,请稍后再试。"}

2,前台处理样例

//全局的ajax访问,处理ajax清求时异常

$.ajaxsetup({

contenttype:"application/x-www-form-urlencoded;charset=utf-8",

complete:function(xmlhttprequest,textstatus){

//通过xmlhttprequest取得响应结果

var res = xmlhttprequest.responsetext;

try{

var jsondata = json.parse(res);

if(jsondata.state == -1){

//如果超时就处理 ,指定要跳转的页面(比如登陆页)

alert(jsondata.msg);

window.location.replace("/login/index.php");

}else if(jsondata.state == 0){

//其他的异常情况,给个提示。

alert(jsondata.msg);

}else{

//正常情况就不统一处理了

}

}catch(e){

}

}

});

//获取数据

function getcontent() {

$.get("content.php", function (data){

var jsondata = json.parse(data);

//只处理正常的情况

if(jsondata.state == 1){

alert(jsondata.data);

}

});

}

三、统一处理异常的http状态码

我们还可以通过ajax拦截,根据异常的http状态码(404、500等)统一处理各种请求错误、服务器错误等情况。

$.ajaxsetup({

希望与广大网友互动??

点此进行留言吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。