jQuery MiniUI

 找回密码
 立即注册
查看: 32439|回复: 0
打印 上一主题 下一主题

jQuery MiniUI开发系列之:Ajax处理超时、服务端错误   [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-12-11 15:30:52 |显示全部楼层 |倒序浏览
MiniUI所有组件的ajax交互,均使用标准、成熟的jQuery.ajax。
依赖于jquery ajax组件的完善性,我们可以拦截住每一次ajax请求处理。
比如,拦截ajax返回数据前,判断返回的数据内容是超时、服务端错误等,此时或弹出信息框、或页面跳转。

首先要注意,将mini_debugger = false;禁止掉默认的MiniUI错误信息框。
mini_debugger在boot.js内设置即可。

监听ajax全局完成事件,判断返回内容是超时的话,则跳转登录页面:
  1. $(document).ajaxComplete(function (evt, request, settings) {
  2.     var text = request.responseText;
  3.     //判断返回的数据内容,如果是超时,则跳转到登陆页面
  4.     if (text == "logout") {
  5.         top.location = '/login.html';
  6.     }
  7. })
复制代码

同理,如果服务端返回错误信息,可以:
  1. $(document).ajaxComplete(function (evt, request, settings) {
  2.     var text = request.responseText;
  3.     var obj = mini.decode(text);
  4.     if (obj.error != 0) {
  5.         alert(obj.errorMsg);
  6.     }
  7. })
复制代码

Archiver|普加软件

GMT+8, 2024-5-3 04:43 , Processed in 1.024816 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部