Ajax是由Jesse James Garrett创造的,是“Asynchronous JavaScript And XML的简写”。
AJAX不是一个新技术,只是一种理念,是一种在Web应用程序中运用其他技术的方法。
出于安全的考虑,不能使用Ajax从当前域名外请求信息,这就是所谓的Ajax沙盒。
AJAX应用到的技术如下:
HTML
CSS
JavaScript
DOM
XML
XMLHttpRequest核心对象
XSLT
XHTML
AJAX的作用:用Javascript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重 新载入整个页面的需求可以交给AJAX来执行。
AJAX的原理:负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网 络服务器间的交流。
AJAX = 传统(请求,响应) + 现代(AJAX引擎异步)
WEB2.0的效果 = 桌面应用的效果(快。。)+ Web应用的效果(安装。。)
AJAX = C/S + B/S
IE浏览器(早)
ActiveXObject(内置对象) = 引擎功能
new ActiveXObject("固定的参数");
非IE浏览器
XMLHttpRequest(内置对象)= 引擎的功能
new XMLHttpRequest()
XHR对象的属性介绍:
xhr.onreadystatechange=callBack;
onreadystatechange:属性,设置回调方法
callBack:回调用方法的名字
xhr.onreadystatechange监听器
xhr.open("发送的方式GET/POST","目标地址URL");
xhr.send(null);
null表示无内容
xhr.responseText;以字符串方式返回XML文件
xhr.responseXML;以XML格式的内容返回(真正)
nodes=xhr.getElementsByTagName("title"); 获取标签为<title>的所有文本,xhr为上一行的XML文本内容
nodes[0].firstChild.data;获得标签为<title>的文本的第一个值
nodes[0].firstChild.nodeValue;与上一行等价
xhr.readyState==4 属性readyState(处理状态)在各类Web浏览器中的工作方式是不一样的。
0未初始化,调用open()前
1正在B->S途中,请求未发送,调用send()前
2正在S端处理,请求已发送,正在处理中
3正在S->B途中,请求已经在处理,未完成
4顺利返回客户端,响应已经完成
运用AJAX的步骤:
1、创建AJAX引擎对象
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest(); //非IE浏览器
}else{ //IE浏览器
try{
xhr=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xhr=false;
}
}
}
2、设置监听和回调
function callBack(){
//B->S->B
if(xhr.readyState==4){
//正确处理用户的请求
if(xhr.status==200){
parserXML();
}
}
}
3、准备发送(两个方法等价)
xhr.open("GET",url); (发出请求,请求可以是GET、POST、HEAD)
xhr.open("GET",url,true); 第三个参数用来将请求设置为异步方式,值可设为true或者asynchronous(异步)。
4、真实发送
xhr.send(null); 可以通过请求传递信息,也可以传送用于过滤返回内容的信息。数据通过不同的变量对来发送,如:
xhr.send('var2=val1&var2=val2&var3=val3');一定要用escape()方法对要发送的值进行编码。
在传送数据时,需要修改请求的MIME类型:
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
在Mozilla代码里,如果要确保非XML数据能正确地返回,就需要引入对overrideMimeType()方法的调用:
xhr.overrideMimeType('text/xml');
AJAX的优势:
1、减轻服务器的负担:
AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
2、带来更好的用户体验:
无刷新更新页面,减少用户心理和实际的等待时间。
3、利用客户端的处理能力:
可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担。
4、基于标准化的并被广泛支持的技术:
不需要下载插件或者小程序。
5、进一步促进页面呈现和数据的分离
AJAX的劣势:
1、AJAX大量使用了Javascript和AJAX引擎,而这个取决于浏览器的支持。
2、IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支持,Mozilla虽然也支持AJAX,但是提供XMLHttpRequest的方式不一样。 所以,使用AJAX的程序必须测试针对各个浏览器的兼容性。
3、AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;
4、有的用户还经常搞不清楚现在的数据是旧的还是已经更新过的。这个就需要在明显位置提醒用户“数据已更新”。
服务端AJAX框架-----DWR简介
DWR是一个Java开源库,可以让你在浏览器中的JavaScript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样。
官方网站:http://getahead.org/dwr
DWR的组成:
1、在服务器上运行的Servlet来处理请求并把结果返回浏览器。
2、运行在浏览器上的Javascript,可以发送请求,并动态改变页面。
3、DWR会根据你的Java类动态的生成Javascript代码。这些代码的魔力是让你感觉整个Ajax调用都是在浏览器上发生的,但事实上 是服务器执行了这些代码,DWR负责数据的传递和转换。
4、这种Java和Javascript之间的远程调用会让DWR用户感觉像是曾经习惯使用的RMI机制。而且这一过程还不需要额外的浏览器插件。
5、Java是同步的,而Ajax是异步的。所以当你调用一个远程方法时,你要给DWR一个回调函数,当数据从网络上回来时,DWR会调用 这个函数。
DWR的作用:
1、客户端代码不再需要直接处理XMLHttpRequest对象或者服务器的响应。
2、不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成XML。
3、不再需要编写servlet代码把Ajax 请求调整成对Java域对象的调用。
DWR原理:
1、DWR是作为Web应用的一个Servlet进行部署的,是一个黑盒子中的Servlet。
2、DWR 动态地生成包含在Web 页面中的JavaScript。并在幕后执行XMLHttpRequest。这些请求被发送给DWR
3、把请求翻译成服务器端Java 对象上的方法调用并把方法的返回值放在Servlet响应中发送回客户端,编码成JavaScript。
4、DWR 还提供了帮助执行常见的用户界面任务的JavaScript 工具函数。
通过DWR封装AJAX公共的操作
(1)开源框架
(2)Java编码的框架
(3)Web
(4)位于服务端
(5)使用基于DWR框架的AJAX仍然是异步的。
分享到:
相关推荐
【Ajax学习资料+实例】 Ajax,全称Asynchronous JavaScript And XML,是一种在2005年由Google推广的技术,它不是一种新的编程语言,而是一种利用已有标准(如JavaScript和HTTP请求)来创建交互性更强、运行更高效...
"ajax学习"可能是一个包含教程、示例代码和讲解文档的文件或文件夹,而"ajaxѧϰ"可能是教学材料或练习项目,"ѧϰ"在拼音中代表"学习",因此这很可能是针对AJAX技术的学习资料。 以下是一些关于.NET中AJAX技术的...
《jQuery与Ajax学习指南》是一本专为初学者和有一定JavaScript基础的开发者设计的电子书,旨在帮助读者深入理解和熟练掌握这两个在实际Web开发中不可或缺的技术。jQuery是一个强大的JavaScript库,它极大地简化了DOM...
在这份超详细的Ajax学习笔记中,我们将深入探讨以下几个关键知识点: 1. **基础概念**:Ajax的核心是JavaScript对象XMLHttpRequest,它使得前端和后端能够进行异步通信。异步意味着用户在等待服务器响应时可以执行...
【Ajax学习文档】深入解析 Ajax,全称Asynchronous JavaScript and XML,是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术。它并不是一项新技术,而是由一系列已存在的技术组合而成,包括JavaScript、...
ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习...
在本篇“AJAX学习总结(一)--基于jQuery第一个实例”中,我们将探讨如何使用jQuery库实现异步JavaScript和XML(AJAX)技术。AJAX允许我们在不刷新整个页面的情况下,更新网页的部分内容,从而提供更流畅的用户体验...
- **jQuery 和 Axios**:学习Ajax时,可以了解jQuery的$.ajax()方法和现代JavaScript库Axios,它们都提供了更方便的接口来处理Ajax请求。 在项目中,Ajax常用于实现动态加载、表单提交、实时通讯等功能。随着前端...
AJAX学习笔记。内含Java调用的两个实例,及JavaScript的ajax工具函数,可快速入门,也可当手册使用。个人精心整理,值得收藏。 更多:http://download.csdn.net/user/daillo/all
掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...
**Ajax学习经典源码详解** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现...
在《Ajax学习开发手册》中,通常会涵盖以下关键知识点: 1. **基础概念**: - **异步通信**:Ajax的核心是JavaScript的XMLHttpRequest对象,它允许浏览器在不刷新整个页面的情况下与服务器通信。 - **请求与响应*...
这个"Prototype Ajax学习范例"提供了一系列实例,旨在帮助开发者迅速掌握使用Prototype进行Ajax操作的技巧。 Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是一种在无需刷新整个网页的情况下...
这份"Learn_JavaScript_and_Ajax_with_w3Schools.zip"压缩包包含了一个电子书和一个文本文件,旨在帮助学习者掌握这两种技术的核心概念。 JavaScript,全称ECMAScript,是一种轻量级的解释型编程语言,主要用于网页...
**Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...
标题"AJAX学习(包括WCF)"表明了这是一个关于AJAX技术的学习资源,其中还涵盖了WCF(Windows Communication Foundation)的相关内容。AJAX,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的...
在本案例中,“一些ajax例子,ajax学习例子”是一个学习和实践Ajax技术的资源集合。 Ajax的核心是JavaScript对象XMLHttpRequest,它允许开发者在后台与服务器进行通信,而不会打断用户的交互。以下是一些关键的Ajax...
Ajax,即Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...通过深入学习和理解Ajax,开发者可以构建出更高效、更流畅的网页应用。
ajax学习视频,我自己学了感觉还不错,分享给大家一起学习!