前往顾页
以后地位: 主页 > 收集编程 > Jsp实例教程 >

jQuery和ExtJS的timeOut超时设置和event事件措置

时候:2013-03-17 20:40来源:知行网www.zhixing123.cn 编辑:麦田守望者

ajax请求若何自定义超不时候,并措置呼应的超时势务呢?

对jQuery来讲,超时可以直接设置timeout参数,并在error事件中捕获第二个参数,如果是“timeout”则表白捕获了超时势务,非常清楚。

例子:

$.ajax({
type: "POST",
contentType: "application/json",
url: "../ws/MyService.asmx/test",
data: '{"email":"'+email+'"}',
timeout: 30000, //超不时候:30秒
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown){
//TODO: 措置status, http status code,超时 408
// 重视:如果产生了错误,错误信息(第二个参数)除获得null以外,还可能
//是"timeout", "error", "notmodified" 和 "parsererror"。
},
success: function(result) {
// TODO: check result
}
});
 

别的,error事件前往的第一个参数XMLHttpRequest有一些有效的信息:
XMLHttpRequest.readyState: 状况码
0 - (未初始化)还没有调用send()体例
1 - (载入)已调用send()体例,正在发送请求
2 - (载入完成)send()体例履行完成,已领遭到全数呼应内容
3 - (交互)正在剖析呼应内容
4 - (完成)呼应内容剖析完成,可以在客户端调用了
XMLHttpRequest.status属性:一些错误代码
HTTP
1xx-信息提示
这些状况代码表示临时的呼应。客户端在收到通例呼应之前,应筹办领受一个或多个1xx呼应。
100-继续。
101-切换和谈。
2xx-成功
这类状况代码表白办事器成功地接管了客户端请求。
200-肯定。客户端请求已成功。
201-已建立。
202-已接管。
203-非权势巨子性信息。
204-无内容。
205-重置内容。
206-部分内容。
3xx-重定向
客户端浏览器必须采纳更多操纵来实现请求。比方,浏览器可能不克不及不请求办事器上的不合的页面,或经由过程代办代理办事正视复该请求。
301-工具已永久移走,即永久重定向。
302-工具已临时挪动。
304-未点窜。
307-临时重定向。
4xx-客户端错误
产生错误,客户端仿佛有问题。比方,客户端请求不存在的页面,客户端未供应有效的身份考证信息。400-错误的请求。
401-拜候被回绝。IIS定义了很多不合的401错误,它们指明更加详细的错误启事。这些详细的错误代码在浏览器中显现,但不在IIS日记中显现:
401.1-登录失败。
401.2-办事器建设导致登录失败。
401.3-因为ACL对资本的限定而未获得受权。
401.4-遴选器受权失败。
401.5-ISAPI/CGI利用法度受权失败。
401.7–拜候被Web办事器上的URL受权战略回绝。这个错误代码为IIS6.0所公用。
403-避免拜候:IIS定义了很多不合的403错误,它们指明更加详细的错误启事:
403.1-履行拜候被避免。
403.2-读拜候被避免。
403.3-写拜候被避免。
403.4-请求SSL。
403.5-请求SSL128。
403.6-IP地点被回绝。
403.7-请求客户端证书。
403.8-站点拜候被回绝。
403.9-用户数过量。
403.10-建设有效。
403.11-暗码变动。
403.12-回绝拜候映照表。
403.13-客户端证书被撤消。
403.14-回绝目次列表。
403.15-超出客户端拜候许可。
403.16-客户端证书不受信赖或有效。
403.17-客户端证书已过期或还没有见效。
403.18-在以后的利用法度池中不克不及履行所请求的URL。这个错误代码为IIS6.0所公用。
403.19-不克不及为这个利用法度池中的客户端履行CGI。这个错误代码为IIS6.0所公用。
403.20-Passport登录失败。这个错误代码为IIS6.0所公用。
404-未找到。
404.0-(无)–没有找到文件或目次。
404.1-无法在所请求的端口上拜候Web站点。
404.2-Web办事扩展锁定战略禁止本请求。
404.3-MIME映照战略禁止本请求。
405-用来拜候本页面的HTTP谓词不被许可(体例不被许可)
406-客户端浏览器不接管所请求页面的MIME范例。
407-请求进行代办代理身份考证。
412-前提前提失败。
413–要务虚体太年夜。
414-请求URI太长。
415–不支撑的媒体范例。
416–所请求的范围无法满足。
417–履行失败。
423–锁定的错误。
5xx-办事器错误
办事器因为碰到错误而不克不及完成该请求。
500-外部办事器错误。
500.12-利用法度正忙于在Web办事器上从头启动。
500.13-Web办事器太忙。
500.15-不许可直接请求Global.asa。
500.16–UNC受权根据不精确。这个错误代码为IIS6.0所公用。
500.18–URL受权存储不克不及翻开。这个错误代码为IIS6.0所公用。
500.100-外部ASP错误。
501-页眉值指定了未实现的建设。
502-Web办事器用作网关或代办代理办事器时收到了有效呼应。
502.1-CGI利用法度超时。
502.2-CGI利用法度出错。application.
503-办事不成用。这个错误代码为IIS6.0所公用。
504-网关超时。
505-HTTP版本不受支撑。
FTP
1xx-必定的开端答复
这些状况代码唆使一项操纵已成功开端,但客户端希望在继续操纵新号令前获得另外一个答复。
110从头启动标识表记标帜答复。
120办事已伏贴,在nnn分钟后开端。
125数据连接已翻开,正在开端传输。
150文件状况一般,筹办翻开数据连接。
2xx-必定的完成答复
一项操纵已成功完成。客户端可以履行新号令。200号令肯定。
202未履行号令,站点上的号令过量。
211体系状况,或体系帮忙答复。
212目次状况。
213文件状况。
214帮忙动静。
215NAME体系范例,此中,NAME是AssignedNumbers文档中所列的正式体系称呼。
220办事伏贴,可以履行新用户的请求。
221办事封闭节制连接。如果恰当,请刊出。
225数据连接翻开,没有进行中的传输。
226封闭数据连接。请求的文件操纵已成功(比方,传输文件或放弃文件)。
227进入主动形式(h1,h2,h3,h4,p1,p2)。
230用户已登录,继续进行。
250请求的文件操纵精确,已完成。
257已建立“PATHNAME”。
3xx-必定的中间答复
该号令已成功,但办事器需求更多来自客户端的信息以完成对请求的措置。331用户名精确,需求暗码。
332需求登录帐户。
350请求的文件操纵正在等候进一步的信息。
4xx-瞬态否定的完成答复
该号令不成功,但错误是临时的。如果客户端重试号令,可能会履行成功。421办事不成用,正在封闭节制连接。如果办事肯定它必须封闭,将向任何号令发送这一应答。
425无法翻开数据连接。
426Connectionclosed;transferaborted.
450未履行请求的文件操纵。文件不成用(比方,文件繁忙)。
451请求的操纵异常停止:正在措置本地错误。
452未履行请求的操纵。体系存储空间不敷。
5xx-永久性否定的完成答复
该号令不成功,错误是永久性的。如果客户端重试号令,将再次呈现一样的错误。500语法错误,号令无法辨认。这可能包含诸如号令行太长之类的错误。
501在参数中有语法错误。
502未履行号令。
503错误的号令序列。
504未履行该参数的号令。
530未登录。
532存储文件需求帐户。
550未履行请求的操纵。文件不成用(比方,未找到文件,没有拜候权限)。
551请求的操纵异常停止:未知的页面范例。
552请求的文件操纵异常停止:超出存储分派(对以后目次或数据集)。
553未履行请求的操纵。不许可的文件名。
常见的FTP状况代码及其启事
150-FTP利用两个端口:21用于发送号令,20用于发送数据。状况代码150表示办事器筹办在端口20上翻开新连接,发送一些数据。
226-号令在端口20上翻开数据连接以履行操纵,如传输文件。该操纵成功完成,数据连接已封闭。
230-客户端发送精确的暗码后,显现该状况代码。它表示用户已成功登录。
331-客户端发送用户名后,显现该状况代码。不管所供应的用户名是不是为体系中的有效帐户,都将显现该状况代码。
426-号令翻开数据连接以履行操纵,但该操纵已被打消,数据连接已封闭。
530-该状况代码表示用户无法登录,因为用户名和暗码组合有效。如果利用某个用户帐户登录,可能键入错误的用户名或暗码,也可能挑选只许可匿名拜候。如果利用匿名帐户登录,IIS的建设可能回绝匿名拜候。
550-号令未被履行,因为指定的文件不成用。比方,要GET的文件其实不存在,或试图将文件PUT到您没有写入权限的目次。

ExtJS的默许超不时候是30s,超越就会ajax请求失败,http status code 408。

设置ExtJS的超不时候体例需求用Ext.data.Connection 工具,并捕获requestexception事件,例子:

var conn=new Ext.data.Connection({
url: "../ws/MyService.asmx/test",
timeout : 60000, //自定义超不时候,这里是60秒 (默许30s)
autoAbort : false,
disableCaching : true ,
method : "GET"
});

var proxy = new Ext.data.HttpProxy(conn);

proxy.getConnection().on("requestcomplete", function(sender, response, options){

------分开线----------------------------
标签(Tag):jQuery jquery教程 jquery技能
------分开线----------------------------
保举内容
猜你感兴趣