易截截图软件、单文件、免安装、纯绿色、仅160KB

ajax实现WEB页面上多任务同时作业

今天需要写一个功能,对于数据库中的数据,在用户通过WEB显示出来的时候,自动启动服务器端脚本对每个数据的有效性进行检测,并将结果呈现给用户。
我考虑的就是,呈现每条数据的时候,启动一个ajax通信进程,将结果反馈回来就OK了。
细节方面需要考虑的是,每个进程完成任务后在回调的时候如何知道它的“宿主”数据是哪一个(哪条数据发起的任务)。
还有由于XMLHttpRequest对于每个任务都是私有的,我们需要多任务并发,所以这里我使用一个类封装整个任务。每次启动一个类对象,将其作为类的私有成员。
下面看看我们的客户端脚本模型
//检测URL的ajax进程类
function TaskAjaxProcess()
{
//类成员XMLHttpRequest
var http_request_check_url = false;

//启动任务
this.start_task = function( $obj )
{
var checkurl = $obj.alt;
////////////创建http request//////////////////
http_request_check_url=false;

//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest)//Mozilla浏览器
{
http_request_check_url=new XMLHttpRequest();
if(http_request_check_url.overrideMimeType)
{//设置MIME类别
http_request_check_url.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject)//IE浏览器
{
try
{
http_request_check_url=new ActiveXObject("Msxml2.XMLHttp");
}
catch(e)
{
try
{
http_request_check_url=new ActiveXobject("Microsoft.XMLHttp");
}
catch(e){}
}
}
//异常,创建对象实例失败
if(!http_request_check_url)
{
document.getElementById("searchresult").innerHTML="<font color=red>Fault error:创建XMLHttp对象失败!</font>";
return false;
}

//在URL添加随机数防止浏览器cache页面
//将发起者(任务宿主)ID也传进PHP脚本
var post_url= "checkURL.php?url=" + checkurl + "&id=" + $obj.id + "&random=" + Math.random()*(10000);

http_request_check_url.onreadystatechange=this.showCheckURLResult;//注册完成的回调函数
http_request_check_url.open("GET",post_url,true);
http_request_check_url.send(null);
}

//完成的回调函数
this.showCheckURLResult = functio


相关文档:

[四天学会ajax]学习ajax教程第三天

对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可;但是对于希望掌握 Ajax 的开发人员来说,必须要全面理解 HTTP 状态代码、就绪状态和 XMLHttpRequest 对象。在本文中,Brett McLaughlin 将向您介绍各种状态代码,并展示浏览器如何对其进行处理,本文还给出了在 Ajax 中使用的比较少见的 HTTP 请求。 ......

在ASP.NET AJAX中防止用户多次提交页面

在Web开发程序中,往往由于种种原因,客户会多次操作页面导致数据冗余或不一致, 在ASP.NET AJAX出现之前可以通过对__dopostback()的调用等方法也可以防止页面多次提交。
在ASP.NET AJAX中的页面客户端中有一个叫onInitializeRequest的事件,它在页面初始化之前触发,可以对页面的提交事件进行控制,并且可以调用该事件参 ......

AJAX中UpdatePanel控件属性的相关介绍

RenderMode属性:使用某一个元素圈出一个区域,它有两个值:— Block(默认)、Inline
Block:使用的div标记;Inline:使用的是span标记
UpdateMode属性:一个UpdateMode在某次异步回送之后,它并不一定会更新,她可能需要满足一定的条件才更新,如果一个
UpdatePanel的UpdateMode为Always(总是),则表示在某次异步传 ......

Ajax跨域问题研究笔记

作者:fbysss
msn:jameslastchina@hotmail.com 
blog:blog.csdn.net/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:Ajax跨域
一.试验准备
    修改c:/windows/system32/drivers/etc/hosts文件,加入127.0.0.1 www.a.com www.b.com
    Tomcat/webapps下建立crossdomai ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号