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 是什么呢? 以下内容引用网上资料:
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:
Ajax(Asynchronous JavaScript + XML)的定义
基于 web标准(sta ......
	
    
        
    
    Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解。 
XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术 ......
	
    
        
    
    大家在访问 google或百度的时候,假如要搜索“阿凡达”,我们可能只需要输入一个  “阿”字,网站就会自动匹配一些词组供我们选择,这个设计非常人性化。今天我们就此技术简要介绍,本文假设读者不清楚ajax技术细节。
先说说AJAX,我之前也没有关注过这方面,稍微了解了一下,其实它就是一个客户 ......
	
    
        
    
    一、ajax的入门
  1、XMLHttpRequest对象的使用(使用XMLHttpRequest解析xml文件)
 onreadystatechange
指定当readyState属性改变时的事件处理句柄
 open()
创建一个新的http请求,并指定此请求的方法、URL等信息 
 send()
发送请求到http服务器并接收回应
 readyState
&nb ......
	
    
        
    
    RenderMode属性:使用某一个元素圈出一个区域,它有两个值:— Block(默认)、Inline
Block:使用的div标记;Inline:使用的是span标记
UpdateMode属性:一个UpdateMode在某次异步回送之后,它并不一定会更新,她可能需要满足一定的条件才更新,如果一个
UpdatePanel的UpdateMode为Always(总是),则表示在某次异步传 ......