jQuery MiniUI开发系列之:Ajax处理超时、服务端错误

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. })
复制代码
原文地址:https://www.cnblogs.com/gantt/p/5602924.html