最终实现的解决方案是对Ajax调用的回调函数使用包装器,并在此包装器中检查返回的HTML块上是否存在特定元素。如果找到该元素,则包装器将执行重定向。如果不是,则包装将调用转发给实际的回调函数。
例如,我们的包装器函数类似于:
function cbWrapper(data, funct){ if($("#myForm", data).length > 0) top.location.href="login.htm";//redirection else funct(data);}
然后,在进行Ajax调用时,我们使用了类似以下内容:
$.post("myAjaxHandler", { param1: foo, param2: bar }, function(data){cbWrapper(data, myActualCB); }, "html");
这对我们有用,因为所有Ajax调用总是在DIV元素内返回HTML,该DIV元素用于替换页面的一部分。另外,我们只需要重定向到登录页面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)