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

MiniUI所有组件的ajax交互,均使用标准、成熟的jQuery.ajax。

依赖于jquery ajax组件的完善性,我们可以拦截住每一次ajax请求处理。

比如,拦截ajax返回数据前,判断返回的数据内容是超时、服务端错误等,此时或弹出信息框、或页面跳转。

首先要注意,将mini_debugger = false;禁止掉默认的MiniUI错误信息框。

mini_debugger在boot.js内设置即可。

监听ajax全局完成事件,判断返回内容是超时的话,则跳转登录页面:

$(document).ajaxComplete(function (evt, request, settings) {

var text = request.responseText;

//判断返回的数据内容,如果是超时,则跳转到登陆页面

if (text == "logout") {

top.location = '/login.html';

}

})

复制代码

同理,如果服务端返回错误信息,可以:

$(document).ajaxComplete(function (evt, request, settings) {

var text = request.responseText;

var obj = mini.decode(text);

if (obj.error != 0) {

alert(obj.errorMsg);

}

})

复制代码

jQuery MiniUI开发系列之:UI和数据分离

使用MiniUI需要注意:UI和数据是分离的. 传统的WEB开发,开发者经常将数据库操作.服务端业务.HTML标签写在一个页面内. 这样会造成开发的混乱,并且难以维护和升级. 使用MiniUI开发的时 ...

jQuery MiniUI开发系列之:安装部署

jQuery MiniUI是一套纯Javascript的WebUI控件库,它由几十个Javascript控件组成,是不依赖服务端和数据库的. 下载jQuery MiniUI,解压缩后,开发者可以直接在 ...

jQuery MiniUI开发系列之:创建组件对象

jQuery MiniUI可以使用Javascript和Html两种方式来创建对象. 1)Javascript创建对象 使用JavaScript创建对象,是最基本的方式,有如下几个要点: 1)使用ne ...

jQuery MiniUI开发系列之:数据验证

在开发应用系统界面时,往往需要进行很多.复杂的数据验证,当填写的数据符合规定,才能提交保存. jQuery MiniUI提供了比较完美的表单数据验证和错误显示的方式. 常见的表单控件,都有一个验证事件 ...

jQuery MiniUI开发系列之:使用API文档

jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...

jQuery MiniUI开发系列之:HTML标签配置

全部使用Javascript写一个界面,是一件很困难的事. 1)要求有较高的Javascript编程能力. 2)会造成“代码树”问题.一级又一级子"children",需要&quo ...

jQuery MiniUI 开发指南+API组件参考手册

jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

Query通过Ajax向PHP服务端发送请求并返回JSON数据

Query通过Ajax向PHP服务端发送请求并返回JSON数据 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuer ...

从零开始开发IM(即时通讯)服务端(二)

好消息:IM1.0.0版本已经上线啦,支持特性: 私聊发送文本/文件 已发送/已送达/已读回执 支持使用ldap登录 支持接入外部的登录认证系统 提供客户端jar包,方便客户端开发 github链接: ...

随机推荐

HDU 1068 Girls and Boys (二分图最大独立集)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 有n个同学,格式ni:(m) n1 n2 n3表示同学ni有缘与n1,n2,n3成为情侣,求集合 ...

(转载)Flash Number 数据类型

(转载)http://www.g168.net/txt/flash/learningactionscript/00001183.html Number 数据类型 Number 数据类型是双精度浮点数. ...

jQuery.YesShow - 图片轮播插件(带图片放大功能)

jQuery.YesShow - 图片轮播插件(带图片放大功能) 使用简单,原文件只要这样就可以了:

        
  • ...

ViewBag、ViewData和TempData使用方法、区别与联系

一.区别与联系 ViewData 和 TempData 都可以传递弱类型数据,区别如下:TempData 只在当前 Action 中有效,生命周期和 View 相同:保存在Session中,Contr ...

unrecognized selector sent to instance 0x10b34e810

一个错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURLEr ...

Arrays.asList()

1.数组--->List String[] ss={"abc","def","xyz","aaaaaaaa",&q ...

转义字符及URI编码

URL中的转义字符 当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数. 解决办法:将这些字符转化成服务器可以识别 ...

可持久化线段树——区间更新hdu4348

和线段树类似,每个结点也要打lazy标记 但是lazy标记和线段树不一样 具体区别在于可持久化后lazy-tag不用往下传递,而是固定在这个区间并不断累加,变成了这个区间固有的性质(有点像分块的标记了 ...

【Mac】Docker安装及基础使用

Docker 安装 在 Mac OS X 系统中,首先你要下载安装包安装:Docker Toolbox 安装过程中,可以选择是否安装 Docker Machine,Docker Compose 等,默 ...

纸壳CMS3.0中的规则引擎,表达式计算

纸壳CMS3.0中的规则引擎,用于计算通用表达试结果.通常业务逻辑总是复杂多变的,使用这个规则引擎可以灵活的修改计算表达式. IRuleManager IRuleManager,是使用规则引擎的主要接 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用 AJAX 发送请求时,如果请求超时,我们可以通过设置 AJAX 的 `timeout` 属性来处理超时错误。例如: ```javascript $.ajax({ url: "example.com", timeout: 5000, // 设置超时时间为5秒 success: function(result) { console.log(result); }, error: function(jqXHR, textStatus, errorThrown) { if(textStatus === 'timeout') { console.log('请求超时!'); } else { console.log('发生了其他错误!'); } } }); ``` 在上面的代码中,我们设置了超时时间为 5 秒。如果请求在 5 秒内没有得到响应,就会触发 `error` 回调函数,并且 `textStatus` 参数的值为 `'timeout'`,我们就可以在该回调函数中处理超时错误。 如果请求超时后,我们不想重复处理错误,可以使用一个变量来记录是否已经处理超时错误。例如: ```javascript var handledTimeoutError = false; $.ajax({ url: "example.com", timeout: 5000, success: function(result) { console.log(result); }, error: function(jqXHR, textStatus, errorThrown) { if(textStatus === 'timeout' && !handledTimeoutError) { console.log('请求超时!'); handledTimeoutError = true; } else { console.log('发生了其他错误!'); } } }); ``` 在上面的代码中,我们使用一个名为 `handledTimeoutError` 的变量来记录是否已经处理超时错误。如果超时错误发生了并且 `handledTimeoutError` 的值为 `false`,我们就处理超时错误并将 `handledTimeoutError` 设置为 `true`。这样,即使请求后续再次超时,我们也不会重复处理错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值