概念:Ajax是英文Asynchronous JavaScript And Xml的字母缩写,第一个单词表示异步。
Ajax是一种在网络应用中实现异步通讯和数据交换的技术。其实是多种技术的一个综合。包括了:JavaScript,XTHML,
CSS,xML,DOM,XSLT和XMLHttpRquest等。。
功能:1.无刷新更新页面。
2.按需求获取数据,减轻对服务器的负担。
3.实现福客户端。
4.实现按照一定的标准和广泛使用的技术。
5.实现页面和逻辑分离。
6.获取用户数据,并连续的,动态交互。
核心:其中XMLHttpRequest对象就是Ajax用来实现异步互交的核心技术。XMLHttprequest对象支持Internet Explorer 5.0,Safari 1.2,Mozilla 1.0 Firefox, Openera8+ 以及 Netscape 7。通过使用 XMLHttpRequest 对象,web 开发者可以做到在页面已加载后从服务器更新页面。不同的浏览器所创建的XMLHttpRequest对象方法也有不一样。IE 浏览器使用:ActiveXobject对象,其他浏览器使用的是 XMLHttpRequest对象。
初始化XMLHttpRequest对象的几种方案。
<script language="javascript">
var myRequest; //生命一个变量用来引用XMLHttpRequest对象
//IE 1
myRequest = new ActiveXObject("Msxm12.XMLHTTP");//在初始化XMLHttpRequest对象。
//IE 2
myRequest = new ActiveXObect("Microsoft.XMLHTTP");
//其他的浏览器
myRequest = new XMLHttpRequest();
</script>
//不过建议不要这样写,因为你无法确定客户端的浏览器,有可能对Ajax的不支持,你可以对其进行Try Catch。异常捕获。
修改后
<script language="javascript">
var myRequest; //生命一个变量用来引用XMLHttpRequest对象
try{
//IE 1
myRequest = new ActiveXObject("Msxm12.XMLHTTP");//在初始化XMLHttpRequest对象。
}catch(e){
try{
//IE 2
myRequest = new ActiveXObect("Microsoft.XMLHTTP");
//其他的浏览器
}catch(e){
try{
//其他的浏览器
myRequest = new XMLHttpRequest();
}catch(e){
alert("你的浏览器不支持Ajax!");
}
}
}
</script>
XMLHttpRequest对象的属性
属性 |
描述 |
onreadystatechange |
状态改变的事件触发器 |
redyState |
对象状态0=未初始化 1=读取中
2=以读取
3=交互中
4=完成
|
responseTest |
服务器进程返回数据的文本版本 |
responseXML |
服务器进程返回数据的兼容DOM的XML文档对象 |
status |
服务器返回的状态码如:404资源找不到200成功 |
statusText |
服务器返回状态的文本信息 |
XMLHttpRequest对象的方法;
方法 |
描述 |
abort() |
停止当前请求 |
getAllResponseHeaders() |
作为字符串返回完整的Headers |
getResponseHeader("headerLabel") |
作为字符串返回单个的Headers |
open("method","URL"[,asyncFlag[,"username"[,"password"]]]) |
设置请求目标URL方法和其他参数 |
send(content) |
发送请求 |
setRequestHeader("label","value") |
设置header并和请求一起发送 |
指定响应处理函数(回调函数)
myRequest.onreadystatechange = t2 ;
function t2(){
...............
}
发出Http请求,这里会用到open()函数。
myRequest.open("GET","b.jsp?id="+userId,true);
myRequest.send(null);发送请求。
open第一个参数:是HTTP请求,可以是GET,POST或Head
第二个参数:是目标URL,注意:只能是内部的URL
第三个参数:是指定等待服务器返回信息的时间内,是否继续执行下面的代码,如果是true则不会执行。默认是true。
调用玩open之后,直接嗲用send方法,提交数据。如需要传送文件,需要调用setRequestHeader方法,修改MIME类别。
如:myRequest.setRequestHeader("Context-Type","applicaction/msexcel").
对服务器返回的信息进行处理。
首先根据XMLHttpRequest的readyState的值进行判断,如果对象状态是完成的话。就通过responseText;
方法进行处理。
if(myRequest.readyState == 4){
var backret = myRequest.responseText;
}
for ensample
创建一个web项目。代码如下。
<script language="javascript">
var req;
function test(){
var id = document.all("id").value;
var name= document.all("name").value;
//初始化XMLHttpRequst
req = new ActiveXObject("Microsoft.XMLHTTP");
req.onreadystatechange = myDeal;//需要另一个function //服务器处理之后调用的一个方法
req.open("GET","b.jsp?id="+id+"&name="+name);
req.send(null);//没有内容,因为传递的数据在open中
}
function myDeal(){
if(req.readyState==4){
var ret = req.responseText;
document.all("myDiv").innerHTML = ret;
}
}
</script>
<center>用户注册</center>
用户名:<input type="text" name="id" onblur="test();">*<div id="myDiv" name="myDiv"></div>
密 码:<input teype="text" name="name">
<input type="button" value="注册" onclick="test()">
<%
String id = request.getParameter("id");
String name = request.getParameter("name");
if(id==null||id.trim().length()==0){
out.println("Id can't be null or empty");
}else if(id!=null&&id.equals("javass")){
out.println("ID REPEATED");
}else{
out.print("ok registry");
}
%>
学习总结:Ajax就是一个异步互交技术。用JavaScript技术负责前台准备数据,可以直接在DOM中获取提交的数据,然后组成程序合法的请求格式。当从后台返回数据后,也是由JavaScript负责解析数据,并把数据重新设置成Html的组建上进行显示。传递回来的数据可以是普通文本,也可以是XML,一般都是用文本。速度快,处理方便。
分享到:
相关推荐
【标题】"Book4-No.02 AJAX初体验"揭示了AJAX(Asynchronous JavaScript and XML)技术在Web开发中的基本应用。AJAX允许开发者在不刷新整个网页的情况下,通过后台与服务器交换数据并局部更新页面,从而提高用户体验...
### AJAX实例应用初体验:自动保存草稿 #### 背景介绍 随着Web应用程序的发展,用户体验成为衡量一个网站或应用是否成功的重要因素之一。在众多提升用户体验的技术中,AJAX(Asynchronous JavaScript and XML)因其...
当用户点击页码或更改每页显示数量时,AJAX会向服务器发送请求,而不是刷新整个页面,这样能保持用户的浏览状态,并提供流畅的交互体验。服务器端接收到请求后,根据参数调用PageHelper进行分页查询,然后返回JSON...
通过阅读《Ajax修炼之道:Web 2.0入门 2007》,开发者能够掌握Ajax技术,从而构建出更加互动、高效的Web应用程序,为用户提供更加流畅的浏览体验。同时,书中的案例和实践指导也能帮助读者将理论知识转化为实际操作...
**异步调用初体验** 实现Ajax调用通常包括以下步骤: 1. 创建XmlHttpRequest对象。 2. 注册`onreadystatechange`事件监听器,处理状态变化。 3. 使用`open()`方法初始化请求,指定HTTP方法、URL和是否异步。 4. ...
最后一部分通过几个大型的实例,让读者深入领会Ajax技术在实际网络项目中的优势,也让读者体验这种优势所带来的优越性能。 本书适用于初、中级网络开发者,对于高级开发人员也很有启发。没有接触过Ajax的入门者...
目录…………第一章 ajax概述与ajax初体验 第二章 XMLHttpRequest对象详解 第三章 jquery库详解 第四章 基于jquery的应用:电子相册系统 第五章 Ext JS 核心技术详解 第六章 Ext JS界面组件详解 第七章 ...
AJAX(异步JavaScript和XML)则允许在不刷新整个页面的情况下更新部分网页内容,提高了用户体验。在这个控件中,jQuery和AJAX的结合用于实现表格数据的动态加载、编辑和删除,使得用户可以无需刷新页面就能进行操作...
目录…………第一章 ajax概述与ajax初体验 第二章 XMLHttpRequest对象详解 第三章 jquery库详解 第四章 基于jquery的应用:电子相册系统 第五章 Ext JS 核心技术详解 第六章 Ext JS界面组件详解 第七章 ...
近年来,AJAX因其能够提升用户体验,使网页更加互动而备受关注。在本文中,我们将探讨如何开始使用AJAX,从创建XMLHttpRequest对象,到使用它获取XML文档,以及处理这些文档。 首先,创建XMLHttpRequest对象是AJAX...
ASP.NET 在2007年初推出了其第一个正式版本,并将Atlas更名为ASP.NET AJAX,对应服务器端和客户端分别对应有ASP.NET服务器端编程模型和ASP.NET客户端编程模型,前者包含ASP.NET 2.0 AJAX Extensions和,后者包含...
总的来说,Ajax是一种强大的技术,能够实现网页的局部更新,提高用户体验,但它也存在一定的限制。对于初学者来说,掌握Ajax的基本概念和使用方法是十分重要的,这将有助于开发更高效、更友好的Web应用。
这个技术自2000年代初被引入以来,极大地提升了网页应用的用户体验,因为它允许页面背景与服务器进行通信,用户界面可以保持响应状态,而不会打断用户的交互。 在“ajax 示例源码(经典)”中,我们可以期待看到...
在2000年代初,随着Web 2.0概念的提出,AJAX迅速成为开发动态、交互性网页的必备工具。 **核心技术组成:** 1. **JavaScript**:是AJAX的核心,负责创建和控制XMLHttpRequest对象,向服务器发送请求,并处理服务器...
本书最大的特色在于每一章中涉及的例子都经过精挑细选,具有很强的针对性,力求让读者轻松掌握PHP项目开发的技巧和Ajax改善用户体验的各种技术,学习尽可能多的知识。 本书适用于初、中级有一定基础的PHP程序员,...
Ajax是21世纪初互联网技术的一次重大飞跃,它使得网页无需刷新即可实现数据的动态更新,极大地提升了用户体验。这本书旨在帮助开发者理解Ajax的基本原理,掌握其实施技巧,并将其有效地应用到Web 2.0项目中。 Ajax...
在2000年代初,由jQuery等库的推动下,Ajax彻底改变了Web开发的方式,让网页变得更加动态和交互性强。在达内集团的Java培训课件中,讲解Ajax技术主要是为了帮助学员掌握现代Web应用开发的核心技能。 Ajax的核心原理...
**第2章:Ajax初体验** - **优势与案例对比**:通过具体实例,如传统的JSP聊天室与基于Ajax的聊天室,突出展示Ajax如何改善用户体验和提升应用效率。 - **实现细节**:详细分析如何在聊天室场景中实现异步发送请求...