code: function handleGlobalError() {
              var errorCodes = {
                  '403': {
                      name: 'not-authorized',
                      title: '登录超时',
                      message: '系统登录超时，请重新登录再试。',
                      handler: function () {
                          // TODO: 实现后端返回403，弹出对话框用户确认后的操作，
                          // 一般是返回首页
                          var baseURL = window.DEBUG
                              ? 'index-debug.html'
                              : 'index.html';
                          location.href = baseURL + location.hash;
                      }
                  },
                  '500': {
                      name: 'server-error',
                      title: '系统错误',
                      message: '系统发生错误，请稍后再试。'
                  }
              };
  
              var hasDialog = false;
  
              function clearDialogReference() {
                  hasDialog = false;
              }
  
              ajax.on(
                  'fail',
                  function globalAjaxFail(error) {
                      // 有些请求是后台跑的，比如每5秒来一次的轮询，
                      // 这种请求如果出错了也弹窗，会极大地影响用户体验，
                      // 因此在请求配置里加上`background = true`来排除全局错误的处理
                      if (error.options.background) {
                          return;
                      }
  
                      // 如果已经弹着一个窗了，就不要再弹了，免得蛋疼
                      if (hasDialog) {
                          return;
                      }
  
                      var config = errorCodes[error.xhr.status];
                      if (config) {
                          hasDialog = true;
                          // 避免还没登录就依赖`esui/Dialog`拉一大堆东西
                          window.require(
                              ['esui/Dialog'],
                              function (Dialog) {
                                  var options = {
                                      title: config.title,
                                      content: config.message
                                  };
                                  var dialog = Dialog.alert(options);
                                  if (config.handler) {
                                      dialog.on('ok', config.handler);
                                      dialog.on('ok', clearDialogReference);
                                      dialog.on('close', clearDialogReference);
                                  }
                              }
                          );
                      }
                  }
              );
          }
docs: 处理全局AJAX错误
  
  @ignore