AJAX

AJAX
AJAX

1、简介

AJAX:(Asynchronnous JavaScript And XML)异步的JavaScript与XML。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

下面是Ajax 应用程序所用到的基本技术:

①HTML 用于建立Web 表单并确定应用程序其他部分使用的字段。

②JavaScript 代码是运行Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信。

③DHTML 或Dynamic HTML,用于动态更新表单。我们将使用div、span 和其他动态HTML 元素来标记HTML。

④文档对象模型DOM 用于(通过JavaScript 代码)处理HTML 结构和(某些情况下)服务器返回的XML。

Ajax不是一种新技术,而是几种蓬勃发展的几种强大技术以新的方式组合而成,Ajax包括:基于XHTML和CSS标准的表示;使用Document Object Model进行动态的显示和交互;使用XML Request与服务器进行异步通讯;使用JavaScript绑定一切。

之前的是用户的请求直接向服务器提交。我们看一个计算的例子。

Ajax的工作原理,Ajax的核心是JavaScript和XMLHttpRequest。该对象在Internet Explorer5中首次引入,它是一种支持异步请求的技术。简单的说:XmlHttpRequest使你可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性能。下面是使用Ajax完成的功能:1、动态更新购物车的物品总数,无需用户单击Update并等待服务器发送整个页面。2、提升站点的性能,这是通过减少从服务器下载的数据量来实现的。例如:当更新购物车一个物品的数量时,会重新载入整个页面,这必须下载32K的数据,而使用Ajax计算新的总量,服务器只需要返回新的总量值,因此所需要的带宽仅仅为原来的百分之一。3、消除了用户每次输入时的页面刷新。例如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。

用户的请求不再直接向服务器提交,而是使用XMLHttpRequest异步的向服务器发送,从而避免了重载页面。

特征:

异步发送请求

服务器响应的是数据不是页面内容。

2、XMLHttpRequest/ActiveXObject

XMLHttpRequest对象,现代浏览器均支持XMLHttpRequest对象(IE5 和IE6 使用ActiveXObject)。

XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

XMLHttpRequest是整个Ajax技术的灵魂。Ajax异步发送请求,就是使用的XMLHttpRequest对象。

使用Ajax进行异步通信的过程:

创建XMLHttpRequest对象。

通过XMLHttpRequest对象向服务器发送请求。

创建回调函数,见识服务器响应状态,在服务器响应完成后,启动回调函数。

回调函数动态更新HTML页面。

创建XMLHttpRequest对象,所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及Opera)都支持创建XMLHttpRequest对象的语法:

Varxhr=new XMLHttpRequest();

为了应对所有的现代浏览器,包括IE5 和IE6,请检查浏览器是否支持XMLHttpRequest对象。如果支持,则创建XMLHttpRequest对象。如果不支持,则创建ActiveXObject:

var xmlHttpRequest;

function createXMLHttpRequest() {

if(window.XMLHttpRequest) {

//火狐谷歌

window.alert("支持XMLHttpRequest");

xmlHttpRequest = new XMLHttpRequest();

}else if (window.ActiveXObject) {

//IE5 IE6

try{

xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");

window.alert("不支持XMLHttpRequest,但是是Msxml2.XMLHTTP");

} catch (e) {

try{

xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");

window.alert("不支持XMLHttpRequest,但是是Microsoft.XMLHTTP");

} catch (e) {

}

}

}

}

XMLHttpRequest对象的方法,属性和事件

方法:

1.open(method,url),

open方法的第一个参数指定HTTP方法或动作,这个字符不区分大小写,但是通常大家用大写字母匹配HTTP协议。”GET”和”POST”方法得到广泛的支持。”GET”用于常规请求,它适用于当URL完全指定请求资源,当请求对服务器没有任何副作用以及当服务器的响应式可缓存时。“POST”

方法常用于HTML表单。它在请求主体中包含额外的数据(表单数据)且这些数据长存储在服务器上的数据库中(副作用)。相同URL的重复POST 请求从服务器得到的响应可能不同,同时不应该缓存使用这个方法的请求。

2.setRequestHeader(“Content-Type”,” application/x-www-form-urlencoded”)

在使用POST方法的时候需要“Content-Type”头指定请求主体的MIME类型。

3.send()

发起HTTP请求,在使用GET请求的时候这个方法没有参数时候就写上参数null,在使用POST请求的时给这个方法传递参数

属性:

XMLHttpRequest的属性:

onreadystatechange:该属性用于指定XMLHttpRequest对象状态发生改变时的事件处理函数。

XMLHttpRequest的对象有如下几种状态:

0:XMLHttpRequest对象还没有完成初始化。

1:XMLHttpRequest对象开始发送请求。

2:XMLHttpRequest对象的请求发送完成。

3:XMLHttpRequest对象开始读取服务器的响应。

4:XMLHttpRequest对象读取服务器响应结束。

它的这几个状态可以通过下面的readyState属性读取。每当XMLHttpRequest对象的readyState属性改变时,其onreadystatechange 属性指定的方法都会被触发。

readyState:获取XMLHttpRequest对象的处理状态

responseText:获取服务器的响应文本,得到是文本形式。

responseXML:获取服务器响应的XML文档对象,得到的是xml。

status:服务器返回的状态码(数字),服务器响应完成时,才有状态码。

statusText:服务器返回的状态文本信息,服务器响应完成时,才有状态信息。

服务器的响应完成后,依然不可以直接获取服务器响应。因为服务器响应也有很多的情况。

响应状态码(status):

1xx:请求收到,继续处理

100——客户必须继续发出请求

101——客户要求服务器根据请求转换HTTP协议版本

2xx:操作成功收到,分析、接受

200——响应正常

201——提示知道新文件的URL

202——接受和处理、但处理未完成

203——返回信息不确定或不完整

204——请求收到,但返回信息为空

205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件

206——服务器已经完成了部分用户的GET请求

3xx:完成此请求必须进一步处理

300——请求的资源可在多处得到

301——删除请求数据

302——在其他地址发现了请求数据

303——建议客户访问其他URL或访问方式

304——客户端已经执行了GET,但文件未变化。(资源没有任何修改)

305——请求的资源必须从服务器指定的地址得到

306——前一版本HTTP中使用的代码,现行版本中不再使用

307——申明请求的资源临时性删除

4xx:请求包含一个错误语法或不能完成

400——错误请求,如语法错误

401——请求授权失败

402——保留有效ChargeTo头响应

403——没有权限访问资源

404——资源不存在

405——用户在Request-Line字段定义的方法被禁止

406——根据用户发送的Accept拖,请求资源不可访问

407——类似401,用户必须首先在代理服务器上得到授权

408——客户端没有在用户指定的饿时间内完成请求

409——对当前资源状态,请求不能完成

410——服务器上不再有此资源且无进一步的参考地址

411——服务器拒绝用户定义的Content-Length属性请求

412——一个或多个请求头字段在当前请求中错误

413——请求的资源大于服务器允许的大小

414——请求的资源URL长于服务器允许的长度

415——请求资源不支持请求项目格式

416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求

也不包含If-Range请求头字段

417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下

一级服务器不能满足请求

5xx:服务器执行一个完全有效请求失败

500——服务器产生内部错误

501——服务器不支持请求的函数

502——服务器暂时不可用,有时是为了防止发生系统过载

503——服务器过载或暂停维修

504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长

505——服务器不支持或拒绝支请求头中指定的HTTP版本

status状态码,statusText是状态文本。

服务器常见的状态码:

200:服务器响应正常。

304:该资源在上次请求之后没有任何修改。

404:需要访问的资源不存在。

414:请求的URL太长。

500:服务器内部错误。

statusText是和status相对应的,比如:200->OK,500->Internal Server Error。

两种方法的模板

GET方法示例:

function add(){

//初始化XMLHttpRequest对象

createXMLHttpRequest();

var add1 = document.getElementsByName("add1")[0].value;

var add2 = document.getElementsByName("add2")[0].value;

//打开与服务器的连接

xmlHttpRequest.open("GET","/abc/servlet/ajax?type=add&add1="+add1+"&add2="+add2);

//设置回调函数

xmlHttpRequest.onreadystatechange=handleResult;

xmlHttpRequest.send(null);

}

POST方法示例:

function add(){

//初始化XMLHttpRequest对象

createXMLHttpRequest();

var add1 = document.getElementsByName("add1")[0].value;

var add2 = document.getElementsByName("add2")[0].value;

//打开与服务器的连接

xmlHttpRequest.open("POST","/abc/servlet/ajax");

//设置请求头

xmlHttpRequest.setRequestHeader("Content-Type"," application/x-www-form-urlencoded");

//设置回调函数

xmlHttpRequest.onreadystatechange=handleResult;

xmlHttpRequest.send("type=add&add1="+add1+"&add2="+add2);

}

1)响应普通文本

2)<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%>

3)<%

4)S tring path2 = request.getContextPath();

5)S tring basePath2 = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path2+"/"; 6)%>

7)

8)

9)

10)

11)

12)My JSP 'test.jsp' starting page

13)

14)

15)

16)

17)

18)

19)

22)

23)

24) +

25) =

26)

27)

72)

73)

74)ajax.java

75)publicvoid doPost(HttpServletRequest request, HttpServletResponse response)

76)throws ServletException, IOException {

77)

78)PrintWriter out = response.getWriter();

79)String type = request.getParameter("type");

80)if("add".equals(type)){

81)String add1 = request.getParameter("add1");

82)String add2 = request.getParameter("add2");

83)int result = Integer.parseInt(add1) + Integer.parseInt(add2);

84)response.setContentType("text/plain;charset=utf-8");

85)out.println(result);

86)out.flush();

87)}

88)

2)响应XML

add.java

publicvoid doPost(HttpServletRequest request, HttpServletResponseresponse)

throws ServletException, IOException {

response.setContentType("text/xml;charset=UTF-8");

OutputStreamos=response.getOutputStream();

String username=request.getParameter("username");

if("张三".equals(username)){

Document document = DocumentHelper.createDocument();

Element student = document.addElement("student");

student.addElement("name").setText("张三");

student.addElement("age").setText("20");

student.addElement("address").setText("浙江杭州");

student.addElement("email").setText("zhangsan@https://www.360docs.net/doc/ad1575256.html,");

XMLWriter out = new XMLWriter(os);

out.write(document);

out.flush();

out.close();

System.out.println("输出");

}else{

Document document = DocumentHelper.createDocument();

Element student = document.addElement("student");

student.addElement("name").setText("李四");

student.addElement("age").setText("30");

student.addElement("address").setText("浙江杭州");

student.addElement("email").setText("zhangsan@https://www.360docs.net/doc/ad1575256.html,");

XMLWriter out = new XMLWriter(os);

out.write(document);

out.flush();

out.close();

}

}

.jsp

请输入学生的姓名:

3)加法计算

如果使用GET方法GET方法:

使用POST方法:4)三级联动

jQuery Ajax 全解析(.ajax .post .get)

jQuery Ajax 全解析【.ajax .post .get】 1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中。 url (String) : 请求的HTML页的URL地址。 data (Map) : (可选参数) 发送至服务器的 key/value 数据。 callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("https://www.360docs.net/doc/ad1575256.html,/QLeelulu/archive/2008/03 /30/1130270.html .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即 $(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url (String) : 发送请求的URL地址.

ajax原理介绍

ajax原理介绍 AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 主要包含了以下几种技术 Ajax(Asynchronous JavaScript + XML)的定义 基于web标准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest 进行异步数据查询、检索; 使用 JavaScript 将所有的东西绑定在一起。英文参见Ajax的提出者Jesse James Garrett的原文。 类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式,derivative/composite)的技术正在出现,如“AFLAX”。 AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。 与传统的web应用比较 传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。 与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP 或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

ajax与php结合实现用户登录(详解)

这是login.html页面 无标题文档

jQuery 5种调用AJax的方法

jQuery 如何调用AJax(五种方法)方法一:load() 使用load方法可以帮助你加载非本地的HTML页面,并注入到当前调用的DOM中。 $.ajaxSetup({ cache: false }); var ajax_load = "加载中..."; var loadUrl = "ajax/load.php"; $("#load_button").click(function() { $("#result").html(ajax_load).load(loadUrl);

}); cache: false 的意思是让浏览器不执行缓存功能,这样的话页面的内容将实时更新,否则某些浏览器会出现内容不更新的问题,当点击按钮后,因为加载过程需要时间,所以这里我们先使用.html方法来添加一个”加载中”的图片,然后执行load方法。 高级使用方法: 1. 加载页面某一部分 例如只加载ID为”pic”的部分,代码如下: $("#load_button").click(function() { $("#result").html(ajax_load).load(loadUrl + " #pic"); }); 2. 递交参数执行页面加载

可以给load方法添加GET或者POST参数,代码如下: $("#load_get").click(function() { $("#result").html(ajax_load).load(loadUrl, "page=0&size=10"); }); $("#load_post").click(function() { $("#result").html(ajax_load).load(loadUrl, { page: 0, size: 10 }); }); 3. 添加回调函数 回调函数可以让你在结束AJAX调用后调用该函数,比如在页面load后提示用户加载完毕:

jQuery Ajax 应用实例解析大全

jQuery Ajax应用解析 jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。 我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。 url(String) : 请求的HTML页的URL地址。 data(Map) : (可选参数) 发送至服务器的key/value 数据。 callback(Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。语法形如"url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("https://www.360docs.net/doc/ad1575256.html,/QLeelulu/archive/2008/03/30/1130270.html .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 这里将显示结果。 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url(String) : 发送请求的URL地址. data(Map) : (可选) 要发送给服务器的数据,以Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。 callback(Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 这是一个简单的GET 请求功能以取代复杂$.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。示例代码: $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){

jQuery中的Ajax几种请求方法

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。 url (String) : 请求的HTML页的URL地址。 data (Map) : (可选参数) 发送至服务器的key/value 数据。 callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。 这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。语法形如"url #some > selector"。 这个方法可以很方便的动态加载一些HTML文件,例如表单。 示例代码: $(".ajax.load").load("[url]https://www.360docs.net/doc/ad1575256.html,/QLeelulu/archive/2008/03/30/1130270.html[/url] .post", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); 这里将显示结果。 注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。 2. jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以Key/value 的键值对形式表示,会做为QueryString附加到请求URL中。 callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。 这是一个简单的GET 请求功能以取代复杂$.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用$.ajax。示例代码: $.get("./Ajax.aspx", {Action:"get",Name:"lulu"}, function (data, textStatus){ //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等. this; // 在这里this指向的是Ajax请求的选项配置信息,请参考下图

PHP JQUERY AJAX 提交表单FORM详解

PHP jQuery Ajax Form表单提交实例解析,包括创建一个表单html页面、添加JQuery代码、jquery ajax表单提交、jquery ajax表单验证、反馈信息给用户,php ajax 表单验证,php ajax提交表单,php ajax form验证,php ajax提交form。 本实例用到JQuery类库本身的函数和功能,所有表单信息利用PHPMailer类库邮件的形式发送。 1、创建一个表单html页面 表单部分html代码 这里用一个id为contact_form来包含整个包含信息;这是有意义的,稍后在JavaScript与用户交互信息的时候会用到,这里form标签的属性里面既包含了method和action;这个意义其实不大,因为Javascript直接操作DOM,所以没有这两个属性也是可以的;务必要给用户输入的input标签加独立的id,这和第二点原理类似。否则,无法看到正常的效果。 2、添加JQuery代码 这里假设你已经从JQuery官方网站上下载了JQuery基库,然后上传到了你的WEB服务器,并添加到你要使用的网页中。

现在新建一个JS文件 第1行的function()函数与Jquery的document.ready函数用法和功能相同,都是在DOM准备完毕后自动触发。第2行里面是一个单击触发函数click(),需要注意的是,在HTML一页提交按钮上需要放置一个名为“button”的Class,以模拟实现submit 提交表单的功能,从第二点我们可以看出,JQuery可以很好的将结构和逻辑分离。 3、jquery ajax表单验证 在实际应用中,这一步是必不可少的。在用户漏填,错填某个项目时,及时提示。

jquery ajax实现跨域请求的方法

这篇文章主要介绍了jquery+ajax实现跨域请求的方法,详细介绍了前台及后台的处理方法,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了jquery+ajax实现跨域请求的方法。分享给大家供大家参考。具体实现方法如下: 说明:这里的datatype 为jsonp ;type 只能为get 前台请求代码如下: 代码如下: $.ajax({ type: get, url: , datatype: jsonp, jsonp: jsoncallback, success: function (result) { alert(result.success); alert(result.content); }, error: function (result, status) { //处理错误 } }); 后台处理代码validaccountsexists.aspx如下: 代码如下: string accounts = gamerequest.getquerystring(accounts); string jsoncallback = gamerequest.getquerystring(jsoncallback); response.contentencoding =system.text.encoding.utf8; response.contenttype = application/json; response.write(jsoncallback + ({\success\:\true\,\content\:\ + accounts + \})); response.end(); 希望本文所述对大家的jquery程序设计有所帮助。

jQuery调用AJAX异步操作超清晰教程

JQUERY AJAX异步操作详细说明 AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。它并非一种新的技术,而是以下几种原有技术的结合体。 1)使用CSS和XHTML来表示。 2)使用DOM模型来交互和动态显示。 3)使用XMLHttpRequest来和服务器进行异步通信。 4)使用javascript来绑定和调用。 通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Request)/应答(Response)模型: 1)不需要用户等待服务端响应。在异步派发XMLHttpRequest请求后控制 权马上就被返回到浏览器。界面不会出现白板,在得到服务器响应之前 还可以友好的给出一个加载提示。 2)不需要重新加载整个页面。为XMLHttpRequest注册一个回调函数,待 服务器响应到达时,触发回调函数,并且传递所需的少量数据。“按需 取数据”也降低了服务器的压力。 3)不需要使用隐藏或内嵌的框架。在XHR对象之前,模拟Ajax通信通常 使用hack手段,如使用隐藏的或内嵌的框架(