什么是Ajax?

原创 2007年09月17日 15:52:00

1.什么是Ajax?
Ajax的全称是:AsynchronousJavaScript+XML

2.Ajax的定义:
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。

3.Ajax包括:
XHTML和CSS
使用文档对象模型(DocumentObjectModel)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起

Web开发领域的最新时髦术语其实质是“旧貌换新颜”。

Ajax(AsynchronousJavaScriptandXML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。

Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。

异步JavaScript和XML(AJAX)不是什么新技术,而是指这样一种方法:使用几种现有技术——包括级联样式表(CSS)、JavaScript、XHTML、XML和可扩展样式语言转换(XSLT),开发外观及操作类似桌面软件的Web应用软件。实现Ajax的所有组件都已存在了许多年。AdaptivePath的用户体验战略部门主管兼创办合伙人JesseJamesGarrett今年2月发表在AdaptivePath网站上的一篇文章中杜撰了这个术语。

异步这个词是指AJAX应用软件与主机服务器进行联系的方式。如果使用旧模式,每当用户执行某种操作、向服务器请求获得新数据,Web浏览器就会更新当前窗口。

如果使用AJAX的异步模式,浏览器就不必等用户请求操作,也不必更新整个窗口就可以显示新获取的数据。只要来回传送采用XML格式的数据,在浏览器里面运行的JavaScript代码就可以与服务器进行联系。JavaScript代码还可以把样式表加到检索到的数据上,然后在现有网页的某个部分加以显示。

在面向消费者的诸多应用当中,Google的Gmail和GoogleMaps就是最常见的例子。在Gmail当中,AJAX负责如何开启线程会话,以显示不同邮件的文本内容。而在Maps当中,AJAX允许用户以一种似乎无缝的方式拖拉及滚动地图。

还有雅虎的Flickr像片共享应用和亚马逊网站的A9搜索引擎。另外,雅虎新的Web邮件服务可能很快就会吸引AJAX支持者的莫大关注,这项服务基于雅虎收购Oddpost后得到的技术。

这些UI都充分地使用了后台通道,也被一些开发者称为“Web2.0”,并导致了大家对Ajax应用兴趣的猛涨。

然而,AJAX应用软件厂商越来越把目光瞄准了企业。譬如说,Scalix的WebAccess电子邮件应用软件其实比微软Outlook自己的Web邮件界面更像Outlook。

不过AJAX应用软件的适用领域具有一定的局限性。因为它们利用了一些最新的Web技术,所以只能在某些Web浏览器里面运行——不过AJAX适用的浏览器正越来越多。

Ajax

Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面。

Ajax处理过程

一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。


一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。


一个Ajax交互从一个称为XMLHttpRequest的JavaScript对象开始。如同名字所暗示的,它允许一个客户端脚本来执行HTTP请求,并且将会解析一个XML格式的服务器响应。Ajax处理过程中的第一步是创建一个XMLHttpRequest实例。使用HTTP方法(GET或POST)来处理请求,并将目标URL设置到XMLHttpRequest对象上。

现在,记住Ajax如何首先处于异步处理状态?当你发送HTTP请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并在服务器响应真正到达后处理它们。要完成它,你可以向XMLHttpRequest注册一个回调函数,并异步地派发XMLHttpRequest请求。控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用。

在JavaWeb服务器上,到达的请求与任何其它HttpServletRequest一样。在解析请求参数后,servlet执行必需的应用逻辑,将响应序列化到XML中,并将它写回HttpServletResponse。 

 

 

html页面:

<html>
<head>
<title>AJAX.html</title>
</head>
<script type="text/javascript">

/*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/

function getResult()
{
        var url = "servlet/com.ajaxServlet?action=send";
        if (window.XMLHttpRequest)
        {
                req = new XMLHttpRequest();
        }else if (window.ActiveXObject)
        {
                req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if(req)
        {
                req.open("GET",url, true);
                req.onreadystatechange = complete;
                req.send(null);
        }
}

/*分析返回的XML文档*/

function complete()
{
        if (req.readyState == 4)
        {
                if (req.status == 200)
                {
                        var type = req.responseXML.getElementsByTagName("type_name");
                        var str=new Array();
                        for(var i=0;i<type.length;i++)
                        {
                                str[i]=type[i].firstChild.data;
                                document.all['td'].innerHTML+=str[i]+"<BR>";
                        }

                }
        }
}
</script>
<body onLoad="getResult()">
<table width="80%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="td">&nbsp;</td>
  </tr>
</table>
</body>
</html>

AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式

HTTP请求中,如果是get请求,那么表单参数以name=value&name1=value1的形式附到url的后面,如果是post请求,那么表单参数是在请求体中,也是以name=value&name...
  • mhmyqn
  • mhmyqn
  • 2014年05月11日 21:20
  • 137406

Struts+Jquery+Ajax+Json应用实例

  • 2017年12月13日 10:42
  • 5.51MB
  • 下载

java jsp ajax

  • 2017年12月07日 08:39
  • 3.44MB
  • 下载

$.ajax()方法详解

引用来自:http://www.cnblogs.com/tylerdonet/p/3520862.html jquery中的ajax方法参数总是记不住,这里记录一下。  1.url:  ...

oracle+ssm+ajax+Bootstrap

  • 2017年11月20日 20:45
  • 1.15MB
  • 下载

ajax跨域解决方案以及spring mvc中的支持

ajax跨域问题主要有有三种解决方法 1、使用代理将需要跨域的地址挂载到本域下面 2、使用jsonp 3、使用Access-Control-Allow-Origin响应头 第一种方案需要引入代理服...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是Ajax?
举报原因:
原因补充:

(最多只允许输入30个字)