`
asdzheng
  • 浏览: 95927 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

AJAX 初探

阅读更多
之前用过一次AJAX,太久忘光了,最近找工作拿起来复习一下。AJAX的英文全程为Asynchronous JavaScript and XML,即异步的javascript 和 xml 结合。这种技术已经用了很多年,举一个例子就是注册用户名时,用ajax技术去访问后台数据库,查看用户名是否已被注册,然后在文本框后面或者下面给出提示,少去了跳转页面的步骤,增加了交互性。在此我们就可以用这个例子来练练手:
在用户名属性哪里设置
onblur = "validate()"
,即当用户名的文本框失去焦点时触发这个事件。
接下来就用js来实现validate()函数:
 <script type="text/javascript">
	var req;
	function validate() {
		var idField = document.getElementById("userid");//取得文本框里用户名
		
		var url = "validate.jsp?id=" + escape(idField.value);//设置待会跳转的URL,并把用户名传进过去
		//alert(url);
		if(window.XMLHttpRequest) { //判断是否为IE7+, Firefox, Chrome, Opera, Safari浏览器
			req = new XMLHttpRequest()//浏览器内部的对象-XMLHttpRequest-用来实现发送和接收HTTP请求与响应信息
		} else if (window.ActiveXObject) {//ie5, ie6
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		req.open("GET", url, true);//用get方式打开刚才设置的url,true设置为异步
		req.onreadystatechange = callback; //req调完open后,readystate的值为1,当state的状态改调用callback()
		req.send(null);
	}
	
	function callback() {
		if(req.readyState == 4) { //readystate为4表示已把xml数据加载完毕
			if(req.status == 200) { //http协议中server反馈给客户端时,status=200表示正常,404表示不正常
				//alert(req.responseText);
				var msg = req.responseXML.getElementsByTagName("msg")[0];//接收标签为msg的内容
				//alert(msg);
		        setMsg(msg.childNodes[0].nodeValue);//调用setmsg函数
			}
		}
	}
	
	function setMsg(msg) {
		
		mdiv = document.getElementById("usermsg");
		
		if(msg == "invalid") {
			mdiv.innerHTML = "<font color='red'>用户名已经存在</font>";//判断xml中传来的数据,如果用户名已被注册,既提示“用户名已存在”
		} else {
			mdiv.innerHTML = "<font color='green'>恭喜你,此用户名可以注册!</font>";//否则提示可以注册
		}
	}
	

</script>
 

XM里面的部分内容:
   <%@page import="com.User" pageEncoding="ISO-8859-1"%>

<%
	
	response.setContentType("text/xml");
	response.setHeader("Cache-Control", "no-store"); //HTTP1.1
	response.setHeader("Pragma", "no-cache"); //HTTP1.0
	response.setDateHeader("Expires", 0); //prevents catching at proxy server
	//前面四句是设置返回的头文件名
	
	//下面是到后台查数据库,然后用<msg>标签返回不同的结果
	String name = request.getParameter("id");
	//System.out.println(name);
	if(name != null && !name.trim().equals("")) {
		boolean isExist = User.idExist(name);
		
		if(isExist) {
			response.getWriter().write("<msg>invalid</msg>");
		} else {
			response.getWriter().write("<msg>valid</msg>");
		}
	}
	
%>
 


这就是一个简单的Ajax例子。
分享到:
评论

相关推荐

    基于PHP编程微软ASP.NET Ajax初探.pdf

    "基于PHP编程微软ASP.NET Ajax初探" ASP.NET Ajax是微软推出的一个基于ASP.NET框架的Ajax解决方案,旨在增强ASP.NET服务器端控件的开发体验。然而,在PHP Web开发领域中,如何将ASP.NET Ajax客户端开发技术引入到...

    Ajax的应用初探.pdf

    "Ajax的应用初探" Ajax是一种基于Web的技术,通过异步JavaScript和XML实现客户端与服务器之间的数据交换。它是一种高度结构化的技术,集成了多种计算机技术,包括XHTML和CSS技术、DOM技术、XML和XSLT技术、...

    基于Ajax的WEB编程初探.pdf

    "基于Ajax的WEB编程初探" 本文介绍了 Ajax 技术在 WEB 编程中的应用,讨论了 Ajax 的技术组成、原理和实现方式。Ajax 是一种异步 JavaScript 和 XML 技术,通过在客户端和服务端进行异步数据传输,实现了良好的用户...

    Ajax 博客网站系统

    1)MVC结构本实例在实现上严格遵循MVC结构。...4)本实例系统对Ajax交互做了一个初探,并利用Ajax实现本章实例系统一个功能界面的开发。 5)本系统介绍了一种彻底解决中文乱码问题的方法-UTF-8配置。

    Extjs portal 应用初探

    这通常涉及到Ajax请求和JSONP技术,因为ExtJS是一个客户端库,它需要与服务器端进行通信来获取或提交数据。 此外,标签"源码"提示我们可能需要理解ExtJS的源代码,这对于优化性能和定制功能至关重要。通过阅读源码...

    easyUI初探

    **EasyUI初探** EasyUI 是一款基于 jQuery 的前端用户界面框架,专为开发者提供一套易于使用、功能强大的组件库,使得开发具有专业外观和交互性的 Web 应用变得简单。EasyUI 提供了诸如窗口、表格、下拉菜单、按钮...

    GWT通信机制初探

    **GWT(Google Web Toolkit)通信机制初探** GWT,全称为Google Web Toolkit,是Google推出的一个开源JavaScript开发框架,允许开发者使用Java语言来编写Web应用。它提供了丰富的组件库、编译器以及强大的客户端-...

    Ext3.0 动态数据 Chart 初探

    Ext3.0动态数据Chart初探 在Web开发中,数据可视化是不可或缺的一部分,它能够帮助用户更好地理解和分析数据。Ext JS是一个强大的JavaScript库,专为构建富客户端应用程序设计,其图表组件(Chart)功能强大,支持...

    锋利的JQuery,菜鸟学习实战,JQuery初探最int实例材料,0基础

    "JQuery初探最int实例材料"可能包含了从基础操作到高级技巧的实例,涵盖选择器应用、事件处理、动画制作、Ajax通信等多个方面。通过这些实例,初学者能够深入理解jQuery的工作原理,并逐渐掌握其用法。 总之,...

    jquery 源码初探,一步步实现自己的jquery(四)

    在本篇《jquery 源码初探,一步步实现自己的jquery(四)》中,我们将深入探讨jQuery库的核心概念,并尝试逐步构建一个简易版的jQuery,以帮助理解其内部机制。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作...

    移动开发者必备工具:开源jqTouch初探

    《移动开发者必备工具:开源jqTouch初探》 在当今技术日新月异的时代,移动设备的普及催生了大量针对这些平台的应用程序开发需求。尤其是苹果的iPhone、iTouch和iPad,它们引领了移动设备的新潮流。然而,苹果官方...

    微软图表控件MsChart使用初探.doc

    ### 微软图表控件MsChart使用初探 #### 知识点概览: 1. **微软图表控件MsChart的介绍与应用** - MsChart作为微软提供的一款功能强大的图表绘制工具,适用于.NET Framework 3.5环境,能够满足各种图形统计和报表...

    使用Ruby on Rails开发LBS网站初探示例代码

    这几天一直在学习使用RoR(Ruby on Rails),想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者(仅有几天时间)来说,毕竟太复杂了。...掌握Ajax在RoR中的一般用法(RJS)。

    .net asp初探

    标题中的“.NET ASP初探”意味着我们将探讨的是关于.NET框架下的ASP.NET技术,这是一个用于构建Web应用程序的强大平台。ASP.NET允许开发人员使用各种编程语言(如C#、VB.NET)来创建动态网页和Web服务。 首先,让...

    MSChart控件手册

    AJAX(三)——AJAX更新 31 五. AJAX(四)——Real Time Chart 35 解决MSChart底部横坐标显示不全的问题 收藏 38 mschart 上下限阈值 画横线 收藏 38 MSChart for vs2008 收藏 39 MSCHART全部属性方法介绍 收藏 ...

    基于Asp.Net的管理信息系统初探

    Asp.Net还支持AJAX技术,实现页面的部分更新,提升用户体验。 3. 系统设计与实现 3.1 系统架构 该党务管理信息系统采用Browser/Server(B/S)架构,用户通过浏览器访问系统,所有的业务逻辑和数据处理都在服务器...

    由prototype_1.3.1进入javascript殿堂-类的初探

    还是决定冠上ajax的头衔,毕竟很多人会用这个关键词搜索。虽然我认为这只是个炒作的概念,不过不得不承认ajax叫起来要方便多了。ajax的意思我就不详细解释了。 写这个教程的起因很简单:经过一段时间的ajax学习,有...

    使用IE6看老赵的博客 jQuery初探

    2. jQuery的初探:文件内容显示,作者刚开始接触jQuery,并尝试使用$.ajax方法来异步获取网页内容。这说明了jQuery库由于其易用性和强大的功能,在初学者中很受欢迎,尤其是在处理AJAX请求和DOM操作上。 3. 页面...

    JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探

    在技术实现上,客户端通过JQuery提供的AJAX方法与服务端进行异步通信。这种异步操作方式可以有效提高用户体验,因为它允许在不刷新整个页面的情况下进行数据的请求和加载。然而,这种方式可能会带来效率问题,尤其是...

    考勤系统(EasyUI、未完善).rar

    《构建基于EasyUI的考勤系统初探》 在信息化管理日益重要的今天,考勤系统的建设和完善成为企业管理不可或缺的一部分。本文将围绕一个未完善的考勤系统项目,探讨其核心技术——EasyUI和Ajax在考勤系统中的应用,...

Global site tag (gtag.js) - Google Analytics