Ajax 超时检查脚本

复制代码 代码如下:

<script type="text/javascript">

function Ajax(){

var xhr;

if(window.XMLHttpRequest){

xhr=new XMLHttpRequest();

}else{

try{xhr=new ActiveXObject("MSXML2.XMLHTTP.6.0");}catch(e){}

try{xhr=new ActiveXObject("MSXML2.XMLHTTP");}catch(e){}

}

if(!xhr) return;

this.Xhr=xhr; //用属性存储XMLHttpRequest对象的实例

}

Ajax.prototype.send=function(url,options){

if(!this.Xhr) return;

var xhr=this.Xhr;

var aborted=false;

var _options={ //提供默认值

method:"GET",

timeout:5000,

onerror:function(){},

onsuccess:function(){}

};

for(var o in options){ //覆盖掉原来的默认值

_options[o]=options[o];

}

function checkForTimeout(){ //检查是否超时的情况

if(xhr.readyState!=4){

aborted=true;

xhr.abort(); //取消本次传输

}

}

//在规定的时间内检查readyState属性的值

setTimeout(checkForTimeout,_options.timeout);

function onreadystateCallback(){

if(xhr.readyState==4){

/*

* 注释:状态码在200内表示成功,300内表示重定向,400内是客户端错误,500是服务器端错误

*/

if(!aborted && xhr.status>=200 && xhr.status<300){ //检查aborted属性是否超时

_options.onsuccess(xhr);

}else{

_options.onerror(xhr);

}

}

}

xhr.open(_options.method,url,true);

xhr.onreadystatechange=onreadystateCallback;

xhr.send(null);

}

var ajax=new Ajax();

ajax.send("test.php",{method: GET ,timeout:100,onerror:onerror,onsuccess:onsuccess});

function onerror(xhr){

alert("Timeout");

}

function onsuccess(xhr){

alert(xhr.responseText);

}

</script>

时间: 2024-08-03 12:17:02

Ajax 超时检查脚本的相关文章

Ajax 超时检查脚本_AJAX相关

复制代码 代码如下: <script type="text/javascript"> function Ajax(){ var xhr; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else{ try{xhr=new ActiveXObject("MSXML2.XMLHTTP.6.0");}catch(e){} try{xhr=new ActiveXObject("MSXML2.X

Ajax超时验证脚本

Ajax超时验证,代码如下: <script type="text/javascript"> function Ajax(){ var xhr; if(window.XMLHttpRequest){ xhr=new XMLHttpRequest(); }else{ try{xhr=new ActiveXObject("MSXML2.XMLHTTP.6.0");}catch(e){} try{xhr=new ActiveXObject("MSXM

巧用shell生成数据库检查脚本

在生产环境中需要部署大量的数据变更.对于新增的表,需要注意权限和同义词等.但是手动去检查这些变更是否生效就很麻烦.而且也不易维护,比如写好了一个脚本,可能在过一段时间,有一些紧急变更,需要把这些变更加进来,可能就忘了更新检查脚本. 考虑到检查的性能,不想查询数据,只需要保证能够正常访问表即可.所以写了如下的sql.目标就是通过shell来生成这样的sql脚本. 比如对于表TEST,检查是否可以访问,如果可以访问,就显示表TEST is accessible... SELECT decode (c

假期前的数据库检查脚本之主备关系(r11笔记第46天)

   快过年了,很多系统都要进入最后的检查和复验阶段,一方面在节假日前,提前发现问题总比过节的时候发现要好.另一方面如果出现故障的时候能及时进行处理,这个时候我们就需要有一个尽可能全面的元数据收集.而且还有一点比较重要的就是工作交接,如果你临时有事,需要让同事来代劳,你得提供清晰易懂的信息给他们.    可能有的同学会觉得我们已经有了数据库监控,基本的性能分析,这个工作是不是就可以忽略了.监控只是标记状态,出现问题时候它没法帮你处理,还是需要人工介入,而人工介入尽可能全面的信息就是这些元数据了,

使用jQuery简化Ajax开发:看看Ajax和DOM脚本编程究竟有多简单

jQuery 是什么? jQuery 由 John Resig 创建于 2006 年初,对于任何使用 JavaScript 代码的程序员来说,它是一个非常有用的 JavaScript 库.无论您是刚刚接触 JavaScript 语言,并且希望获得一个能解决文档对象模型(Document Object Model,DOM) 脚本和 Ajax 开发中一些复杂问题的库,还是作为一个厌倦了 DOM 脚本和 Ajax 开发中无聊 的重复工作的资深 JavaScript 专家,jQuery 都会是您的首选.

Ajax——异步检查用户名是否存在示例

在任何网站注册用户的时候,都会检查用户是否已经存在.很久以前的处理方式是将所有数据提交到服务器端进行验证,很显然这种方式的用户体验很不好:后来有 了Ajax,有了异步交互,当用户输完用户名继续填写其他信息的时候,Ajax就将信息发到了服务器去检查该用户名是否已经被注册了,这样如果用户名已经 存在,不用等用户将所有数据都提交就可以给出提示.采用这种方式大大改善了用户体验. regist.jsp 复制代码 代码如下: <%@ page language="java" contentT

Shell+Curl网站状态检查脚本 抓出无法访问的站点_linux shell

一开始搭建中国博客联盟,既有博友提醒我,做网址大全这类网站维护很麻烦,需要大量的精力去Debug一些已夭折的网站,更是拿松哥的博客大全举例.当然,我也是深以为然.前些时间,看到梦轩丽人的boke123网址大全的维护记录,好像是纯手工检查,张戈实在是佩服的五体投地,太有毅力了. 现在博客联盟也收录的博客也已破200了,全部来自自主提交,不管你是草博还是名博,张戈不会强买强卖.由于大部分都是建站不过半年的新站,半路放弃.提前太监的博客估计还是有的,于是我决定还是把站点维护这个工作做起来. 上午用PH

Ajax——异步检查用户名是否存在示例_AJAX相关

在任何网站注册用户的时候,都会检查用户是否已经存在.很久以前的处理方式是将所有数据提交到服务器端进行验证,很显然这种方式的用户体验很不好:后来有了Ajax,有了异步交互,当用户输完用户名继续填写其他信息的时候,Ajax就将信息发到了服务器去检查该用户名是否已经被注册了,这样如果用户名已经存在,不用等用户将所有数据都提交就可以给出提示.采用这种方式大大改善了用户体验. regist.jsp 复制代码 代码如下: <%@ page language="java" contentTyp

Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点_linux shell

一开始搭建中国博客联盟,既有博友提醒我,做网址大全这类网站维护很麻烦,需要大量的精力去Debug一些已夭折的网站,更是拿松哥的博客大全举例.当然,我也是深以为然.前些时间,看到梦轩丽人的boke123网址大全的维护记录,好像是纯手工检查,张戈实在是佩服的五体投地,太有毅力了. 现在博客联盟也收录的博客也已破200了,全部来自自主提交,不管你是草博还是名博,张戈不会强买强卖.由于大部分都是建站不过半年的新站,半路放弃.提前太监的博客估计还是有的,于是我决定还是把站点维护这个工作做起来. 上午用PH