`
rcfalcon
  • 浏览: 227950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 = function()
	{
		if(http_request_check_url.readyState==4)
		{
			if(http_request_check_url.status==200)//信息返回成功
			{
				var response = eval( "(" + http_request_check_url.responseText + ")" );
				//在这里处理结果
				//将ID回传过来,则是任务宿主类
			}
		}
	}//function
}

//启动任务,传进来HTML对象
function start_task($obj)
{
	//启动任务
	var s = new TaskAjaxProcess();
	s.start_task( $obj );
}

 

 

服务端脚本略,大致为处理后附带的将任务发起者的ID也传回来。

就可以实现同时启动多任务并且回调后在界面上处理了。

分享到:
评论

相关推荐

    Web前端大作业.zip

    HTML是Web页面的基础,通过合理的标签结构和样式控制,我们可以构建出富有吸引力的用户界面。 3. **images**:这个文件夹存放了项目中的所有图片资源,包括商品图片、图标、背景图等。图像资源对于提升用户体验有着...

    基于 Ajax的 ETL 工具分析与 web 实现

    ### 基于Ajax的ETL工具分析与Web实现 #### 数据仓库技术 在构建数据仓库的过程中,数据准备工作是至关重要的一步。这涉及到从不同来源(可能是相同的也可能是不同的)收集、清理、转换和加载数据的过程。数据仓库...

    web网页制作期末大作业

    在本项目中,"web网页制作期末大作业"是一个典型的Web开发学习任务,涉及到的核心技术是HTML、CSS和JavaScript,这三者构成了网页制作的基础。下面将分别详细讲解这三个技术及其在网页制作中的作用。 HTML...

    web前端期末大作业源码.zip

    【标题】"Web前端期末大作业源码.zip"是一个包含前端开发项目的压缩文件,这个项目很可能是学生在学期末完成的一项课程任务。它涉及到的主要技术包括HTML、CSS和JavaScript,这些都是构建网页和交互式用户体验的核心...

    大学网页设计前端Web大作业

    综上所述,完成这个大作业需要全面理解并应用前端开发的核心技术,同时还需要关注用户体验、性能优化和网页的可访问性。这不仅是一个技术上的挑战,也是对设计原则和实践能力的考验。通过这个项目,学生将能够深入...

    WEB技术大作业报告书.docx

    3.2 CSS样式实现:CSS用于美化页面,实现不同分辨率下的布局调整,确保在手机和平板等移动设备上的良好显示。 3.3 JavaScript脚本实现:JavaScript用于实现页面的动态效果和用户交互,例如表单提交、验证、页面跳转...

    山东大学 web技术 全部章节 作业

    1. **HTML基础**:作为Web页面的基础,HTML(HyperText Markup Language)的学习包括标记语言的结构、元素、属性以及如何创建静态网页。 2. **CSS样式设计**:CSS(Cascading Style Sheets)用于控制网页的布局和...

    天津理工大学Web应用程序设计与开发大作业:综合应用【JSP+EasyUI+Servlet+JDBC】的报告

    **标题与描述解析** 本项目是天津理工大学针对Web应用程序设计与开发的一次大作业,它要求学生综合运用Java Server Pages (JSP)、...同时,为了提高用户体验,可以考虑使用Ajax异步查询,使得页面在加载时保持响应性。

    Web大作业贵美商城

    总的来说,"贵美商城"这个Web大作业涵盖了Web开发的多个方面,是学习和实践Web全栈开发的一个理想项目。通过完成这个项目,开发者不仅可以巩固基础技能,还能深入理解前后端协作、数据库设计、安全性策略以及用户...

    hadoop web项目

    此外,Ajax还可以实现异步通信,这意味着用户可以同时进行其他操作,而不会被正在进行的请求阻塞。 总结来说,Hadoop Web项目结合Ajax技术,实现了更高效、更流畅的Hadoop集群管理与监控,这对于大数据分析团队来说...

    web作业彩票抽奖。。

    在这个“web作业彩票抽奖”项目中,我们可以推测这是一个针对初学者设计的任务,旨在帮助他们理解和实践Web应用的基本构建。 【描述】:“web作业彩票抽奖系统” 这个描述简洁明了,表明这是一项基于Web的彩票抽奖...

    自己动手写的AJAX的小程序

    **描述分析:** 描述中的“大作业”表明这是一个学习过程中的实践任务,作者花费了两周时间完成,这通常意味着项目可能包含了对AJAX基础到进阶的理解和应用。作者自谦说“比较笨”,实际上这可能是为了表达自己对这...

    web仿淘宝项目

    虽然这个项目没有实现后台功能,但它涵盖了Web开发中的多个重要知识点,为初学者提供了宝贵的实践经验。 1. **HTML/CSS基础**:项目的前端界面构建离不开HTML和CSS。HTML(超文本标记语言)用于定义网页结构,如...

    Web 动态网页设计课程作业.zip

    5. AJAX(Asynchronous JavaScript and XML):一种编程技术,让网页可以在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。 6. 数据库技术(如MySQL、SQLite、SQL Server等):存储和管理网站的数据。 ...

    电子作业系统、在线作业系统 asp

    总结,使用ASP开发电子作业系统是一项综合性的任务,涵盖了Web开发的多个方面,包括服务器端脚本、数据库操作、用户认证、数据处理、安全防护以及用户体验优化。开发者需要具备全面的技能和经验,才能构建出高效、...

    JavaWeb作业管理系统

    8. **Ajax异步通信**:为了提供更好的用户体验,系统可能使用Ajax进行局部页面更新,无需整个页面刷新即可完成作业的添加、修改或删除操作。 9. **前端框架**:虽然文件名只提到"webframe1",但实际项目中可能还...

    Web前端—第4课实操作业.rar

    描述中只提到"Web前端—第4课实操作业.rar",没有提供更多的信息。这通常意味着作业可能覆盖了之前课程中讲解的基本概念和技能,并要求学生将所学应用到实际项目中,以此巩固理论知识并提升动手能力。 【文件列表】...

    《舌尖上的美食网》web期末大作业,网页制作.rar

    《舌尖上的美食网》是一个基于Web技术的期末大作业,主要涵盖了网页设计与制作的核心技能,包括HTML、CSS和JavaScript的运用。这个项目不仅要求学生完成网页的基本结构,还涉及了视觉设计和交互功能的实现。 HTML...

    php期末作业,外加一个验证登录的ajax,企业站网站

    中的“php期末作业,外加一个验证登录的ajax,企业站网站”表明这是一个基于PHP编程语言的课程项目,旨在让学生掌握企业级网站的开发技能,特别是涉及用户登录验证的部分,这部分采用了AJAX(Asynchronous ...

    模仿京东页面

    在IT行业中,模仿京东页面是一项常见的前端开发任务,旨在学习和实践电商网站的布局、交互设计以及技术实现。这个项目通常涉及到HTML、CSS和JavaScript等基础Web开发技术,也可能涵盖响应式设计、Ajax异步加载、...

Global site tag (gtag.js) - Google Analytics