AJAX入门——工作原理

同步和异步交互,了解互动

对于一个样本:一般B/S模式(同步)       AJAX技术(异步)

*  同步:

提交请求->等待server处理->处理完成返回  这个期间client浏览器不能干不论什么事。

发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。

你如今传输,我要亲眼看你传输完毕,才去做别的事 。

*  异步:

请求通过事件触发->server处理(这时浏览器仍然能够作其它事情)->处理完成。

发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式 。

你传输吧,我去做我的事了。传输完了告诉我一声 。  

什么是Ajax?

Ajax被觉得是(Asynchronous JavaScript and XML的缩写)。

如今,同意浏览器与server通信而无须刷新当前页面的技术都被叫做Ajax.

Ajax并不是一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成:

1.使用CSS和XHTML来表示。

2. 使用DOM模型来交互和动态显示。

3.使用XMLHttpRequest来和server进行异步通信。

4.使用javascript来绑定和调用。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdXNlcl9sb25nbGluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

Ajax的工作原理

AJAX採用异步交互过程。AJAX在用户与server之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。

用户的浏览器在运行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与server之间的交互。

AJAX引擎同意用户与应用软件之间的交互过程异步进行,独立于用户与网络server间的交流。

如今,能够用Javascript调用AJAX引擎来取代产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不须要又一次加载整个页面的需求能够交给AJAX来运行。

AJAX的原理简单来说通过XmlHttpRequest对象来向server发异步请求。从server获得数据,然后用javascript来操作DOM而更新页面。这当中最关键的一步就是从server获得请求数据。

了解XMLHttpRequest

    XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。

简单的说,也就是javascript能够及时向server提出请求和处理响应。而不堵塞用户。达到无刷新的效果。

XMLHttpRequest属性有:

属性 描写叙述
onreadystatechange  每次状态改变所触发事件的事件处理程序。
responseText         从server进程返回数据的字符串形式。
responseXML       从server进程返回的DOM兼容的文档数据对象。
status                       从server返回的数字代码,比方常见的404(未找到)和200(已就绪)
status Text  伴随状态码的字符串信息
readyState               对象状态值,存有server响应的状态信息。

每当 readyState 改变时,onreadystatechange 函数就会被运行。

readyState 属性可能的值:

  状态    描写叙述
    0   请求未初始化(在调用 open() 之前)
    1   请求已提出(调用 send() 之前)
    2   请求已发送(这里通常能够从响应得到内容头部)
    3   请求处理中(响应中通常有部分数据可用。可是server还没有完毕响应)
    4   请求已完毕,此时能够通过通过responseXml和responseText获取完整的回应数据。 

  可是,因为各浏览器之间存在差异。所以创建一个XMLHttpRequest对象可能须要不同的方法。这个差异主要体如今IE和其他浏览器之间。

以下是一个比較标准的创建XMLHttpRequest对象的方法。

	/*
	 * 创建XMLHttpRequest对象
	 * */
	function ajaxFunction(){
		var xmlHttp;
		try { // Firefox, Opera 8.0+, Safari
			xmlHttp = new XMLHttpRequest();
		}
		catch (e) { // Internet Explorer
			try {
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e) {
					alert("您的浏览器不支持AJAX。");
					return false;
				}
			}
		}
		return xmlHttp;
	}
AJAX(client)开发步骤:

1.创建XMLHttpRequest对象

var xmlHttp = ajaxFunction();

2.接受server端的响应

/* readyState 属性存有server响应的状态信息。

每当 readyState 改变时,onreadystatechange 函数就会被运行。*/
xmlHttp.onreadystatechange = function(){
	if(xmlHttp.readyState==4){
		var data=xmlHttp.responseText;
		alert("xmlHttp.responseText:"+data);
	}
}

3.打开和server的连接

/*
 * bstrMethod: http方法,比如:POST、GET、PUT及PROPFIND。大写和小写不敏感。
 * bstrUrl: 请求的URL地址,能够为绝对地址也能够为相对地址。

* varAsync [可选]:布尔型。指定此请求是否为异步方式,默觉得true。假设为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
 * bstrUser [可选]:假设server须要验证,此处指定username,假设未指定,当server须要验证时。会弹出验证窗体。
 * bstrPassword [可选]:验证信息中的password部分,假设username为空。则此值将被忽略。
*/
xmlHttp.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
//POST方式向server发送AJAX请求时要通过设置请求头来指定为application/x-www-form-urlencoded编码类型, 代码例如以下:
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

4.发送请求到httpserver

/* varBody:欲通过此请求发送的数据。

*/
xmlHttp.send(varBody);

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-01 05:04:05

AJAX入门——工作原理的相关文章

请尽可能详尽的解释ajax的工作原理

Ajax的工作原理相当于在用户和服务器之间加了-个中间层,使用户操作与服务器响应异步化.这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的. 简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面.这其中最关键的一步就是从服务器获得请求数据.要清楚这个过程和原理,我们必须对 XMLHttpRequest有所了解.

AJAX的工作原理【转】

Ajax工作原理 在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项目经理找到了我,并且征询我培训的主题,考虑到之前Javascript.CSS等WEB开发技术都已经讲解过了,所以决定针对AJAX这一块做一个比较系统的培训,所以这篇文章实际上是一个培训的材料. 在这篇文章中,我将从10个方面来对AJAX技术进行系统的讲解. 1.ajax技术的背景

Ajax学习--理解 Ajax 及其工作原理

Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写. 下面是 Ajax 应用程序所用到的基本技术:• HTML 用于建立 Web 表单并确定应用程序其他部分使用的字段. • JavaScript 代码是运行 Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信. • DHTML 或 Dynamic HTML,用于动态更新表单.我们将使用 div.span 和其他动态 HTML 元素来标记 HTML. • 文档对象模型 DOM 用于(

ajax及其工作原理

1.关于ajax的名字 ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式. 2.关于同步和异步 步传输是面向字符的传输,它的单位是字符:而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的. 具体来说,异步传输是将比特分成小组来进行传送.一般每个小组是一个8位字符,在每个小组的头部和尾部都有一个开始位和一个停止位,它在传送过程中接收方和发送

AppScan入门工作原理详解

AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试. Rational AppScan(简称 AppScan)其实是一个产品家族,包括众多的应用安全扫描产品,从开发阶段的源代码扫描的 AppScan source edition,到针对 Web 应用进行快速扫描的 AppScan standard edition,以及进行安全管理和汇总整合的 AppScan enterprise E

AJAX的工作原理

1:在讲ajax的原理之前我们先简单的了解一下ajax的背景 可否认,ajax技术的流行得益于google的大力推广,正是由于google.gmail等对ajax技术的广泛应用,才催生了ajax的流行.而这也让微软感到无比的尴尬,因为早在97年,微软便已经发明了ajax中的关键技术,并且在99年IE5推出之时,它便开始支持XmlHttpRequest对象,并且微软之前已经开始在它的一些产品中应用ajax,遗憾的是,不知道出于什么想法,当时微软发明了ajax的核心技术之后,并没有看到它的潜力而加以

理解 Ajax 及其工作原理,构建网站的一种有效方法

?XMLHttpRequest 对象 要了解的一个对象可能对您来说也是最陌生的,即 XMLHttpRequest.这是一个 JavaScript 对象,创建该对象很简单,如清单 1 所示. 清单 1. 创建新的 XMLHttpRequest 对象 <script language="javascript" type="text/javascript"> var xmlHttp = new XMLHttpRequest(); </script>

解释ajax的工作原理

1.创建ajax对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp)) 2.打开链接 open(请求方式,'请求路径',同步/异步) 3.发送 send() 4.当ajax对象完成第四步(onreadystatechange)数据接收完成,判断对象状态码(readystate) 4  HTTP响应完全接收  在判断http响应状态(status)200-300之间或者304(缓存)执行回调函数 获取的数据转成字符串格式(responseText)

(转)AJAX工作原理及其优缺点

1.什么是AJAX?AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML+CSS来标准化呈现:使用XML和XSLT进行数据交换及相关操作:使用XMLHttpRequest对象与Web服务器进行异步数据通信: 使用Javascript操作Document Object Model进行动态显示及交互: 使用JavaScript绑定和处理所有数据. 2.与传统的we