jQuery MiniUI

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

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. })
复制代码

Rank: 1

沙发
发表于 2013-4-25 11:55:13 |只看该作者
这个功能 还有没有必要用呢?
beforeload                数据加载前发生
preload                数据加载,设置到Grid前发生
loaderror       
{
    sender: Object, //表格对象
    xmlHttp: Object, //ajax对象
    errorMsg: String //错误信息
    errorCode: int  //错误码
}
数据加载错误时发生
load                数据加载成功时发生

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-4-25 21:19:14 |只看该作者
你也可以用。
一个是全局控制,一个是表格控制。

Rank: 1

地板
发表于 2013-8-12 15:36:38 |只看该作者
ajaxComplete全局事件监听写在boot.js文件中能起作用吗?

Rank: 8Rank: 8

5#
发表于 2013-8-12 16:39:47 |只看该作者
yanbh 发表于 2013-8-12 15:36
ajaxComplete全局事件监听写在boot.js文件中能起作用吗?

可以是可以的,但是因为jquery的引用也在 boot里面,注意boot.js里面的顺序

Rank: 1

6#
发表于 2013-8-14 14:01:53 |只看该作者
factory 发表于 2013-8-12 16:39
可以是可以的,但是因为jquery的引用也在 boot里面,注意boot.js里面的顺序

版主,能提供在boot.js里处理jquery的ajaxcomplete 全局登录超时的示例或代码吗?
登录超级是任务一个业务系统都需要处理的,这块希望有一个完整的且不复杂的处理机制

Rank: 8Rank: 8

7#
发表于 2013-8-15 09:13:54 |只看该作者
yanbh 发表于 2013-8-14 14:01
版主,能提供在boot.js里处理jquery的ajaxcomplete 全局登录超时的示例或代码吗?
登录超级是任务一个 ...

http://miniui.com/bbs/forum.php? ... &extra=page%3D1

看这篇帖子

Rank: 2

8#
发表于 2013-10-27 14:18:56 |只看该作者
factory 发表于 2013-8-12 16:39
可以是可以的,但是因为jquery的引用也在 boot里面,注意boot.js里面的顺序

这块顺序应该是怎么排放?

Rank: 8Rank: 8

9#
发表于 2013-10-28 10:43:42 |只看该作者
boy1064910 发表于 2013-10-27 14:18
这块顺序应该是怎么排放?

最好放在页面上

Rank: 2

10#
发表于 2014-4-2 16:39:46 |只看该作者
factory 发表于 2013-8-12 16:39
可以是可以的,但是因为jquery的引用也在 boot里面,注意boot.js里面的顺序

这段代码在每个页面都要加吗

Archiver|普加软件

GMT+8, 2024-11-22 16:46 , Processed in 1.029732 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部