在实际的应用中,前后端分离越来越常见,前端负责页面之间的路由,需要数据时,发送ajax请求就可以了。但是我希望在使用ajax时候,可以控制页面的跳转,怎么办呢?
有两种情况
第一种情况,发送同步的请求,成功返回后,在回调函数中使用window.locatin.href
第二种情况,返回一个状态码 ,可自定义700
然后扩展ajax 代码,在error函数中进行跳转
第二种情况特比适合的场景是,发送ajax ,后台判断 session过期了,返回700 状态码,这时前台可以实现跳转到登录页面。
jQuery(function ($) {
var _ajax = $.ajax;
$.ajax = function (opt) {
var _error = opt && opt.error || function (a, b, c) { };
var _opt = $.extend(opt, {
error: function (xhr, status, error) {
if (xhr.status == 700) {
//跳转到登录页面
top.location.href = "/Home/Login";
return;
}
_error(xhr, status, error);
}
});
_ajax(_opt);
};
});