`
huqi
  • 浏览: 93687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

可以说Ajax不是一项技术,而是一种Web交互的操作模式。同时,Ajax并不是这两年出现的什么新东西,因为所有实现Ajax应用程序的组件都已经在我们的浏览器里存在若干年了。

下面的时序图可以清晰的展现Ajax技术在客户端与服务器之间往返交换数据的过程。

Ajax Sequence Diagram

Ajax通过浏览器内置的XMLHttpRequest对象与服务器端交互,但需要注意的是,不同的浏览器,创建XMLHttpRequest对象的方法可能不相同,使用下面的代码应该可以保证在绝大多数的浏览器中创建此对象:

/**//*
 * Returns a new XMLHttpRequest object, or false if this browser
 * doesn't support it
 
*/

function newXMLHttpRequest() 
...{
  
var xmlreq = false;
  
if (window.XMLHttpRequest) 
  
...{
    
// Create XMLHttpRequest object in non-Microsoft browsers
    xmlreq = new XMLHttpRequest();
  }
 
  
else if (window.ActiveXObject) 
  
...{
    
// Create XMLHttpRequest via MS ActiveX
    try 
    
...{
      
// Try to create XMLHttpRequest in later versions
      // of Internet Explorer
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    }
 
    
catch (e1) 
    
...{
      
// Failed to create required ActiveXObject
      try 
      
...{
        
// Try version supported by older versions
        // of Internet Explorer
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
      }
 
      
catch (e2) 
      
...{
        
// Unable to create an XMLHttpRequest with ActiveX
      }

    }

  }

  
return xmlreq;
}

XMLHttpRequest对象readyState属性的意义在于表示一次Ajax请求的生命周期状态,它从0(代表“未初始化”)变化到4(代表“完成”)。每次readyState属性变化时,readystatechange事件就触发,则由onreadystatechange属性指定的事件处理回调函数就被调用。

XMLHttpRequest对象status属性的意义在于查看请求是否成功完成。status属性指向服务器响应的HTTP状态返回码。在执行简单的GET和POST请求时,可以假设任何大于200的返回码都是错误的。

如果服务器发送重定向响应(例如301或302),浏览器会透明地进行重定向并从新的位置获取资源;XMLHttpRequest看不到重定向的状态码。而且,浏览器会自动添加"Cache-Control: no-cache"头信息到所有XMLHttpRequest,这样客户端代码永远也不用处理304(未经修改)服务器响应。

需要注意的是,只有当HTTP状态返回码为200(OK状态)时,才表示服务器处理结果正确返回,然后才能执行客户端响应代码。



分享到:
评论

相关推荐

    Ajax原理分析及其实现的简单代码

    让更多人了解ajax技术.function _open(requestUrl) { var xmlHttp = false; var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2....

    AJAX技术和原理分析

    对开发有很大的帮助,尤其面试特别的有用。

    Ajax技术在矿用考勤系统中的应用

    针对传统的Web考勤系统使用submit方式进行数据交互导致的响应时间长、用户体验差等问题,提出了采用Ajax技术设计矿用考勤系统的方案,分析了Ajax技术原理,介绍了基于Ajax技术的矿用考勤系统实现过程。Ajax技术通过...

    《Ajax技术简介和案例分析》(42P)

    Ajax技术组成 Asynchronous JavaScript and XML 老技术新思路 使用XHTML与CSS的设计标准表现 使用DOM进行动态显示与交互 使用XML和XSLT 进行数据交换与操作 使用XMLHttpRequest进行异步数据传输 使用JavaScript将...

    ajax 技术和原理分析

    ajax所包含的技术 大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。 1.使用CSS和XHTML来表示。 2.... 3.... 4.... 在上面几中技术中,除了... ajax原理和XmlHttpRequest对象 Ajax的原理简单

    Ajax技术组成与核心原理分析

    本文主要为大家分析了Ajax技术组成原理,供大家参考,具体内容如下 1、Ajax 特点:局部刷新、提高用户的体验度,数据从服务器商加载  2、AJax的技术组成 不是新技术,而是之前技术的整合 Ajax: Asynchronous ...

    JSP+Ajax网站开发典型实例源码(1~8、10章)

    本书以实例的方式介绍JSP技术和AjaX技术,这两种技术是目前最为流行的服务器端和客户端技术。本书主要内容包括JSP基础实例、JSP数据库实例、JavaBean技术、Servlet技术、Ajax基本技术、Ajax高级技术、Ajax数据库操作...

    分析Ajax技术的安全性

    介绍基于HTTP协议传输数据的Ajax技术基本原理和存在...在使用Ajax技术构建的不安全的程序示例基础上,讲解和分析程序实现的过程。例中的程序将捕获和收集在测试网页上所有的操作,并发送消息到服务器上,达到监视的效果

    AJAX技术在Web应用中的研究与实现.pdf

    本文将对AJAX技术的工作原理、主要技术和应用情况进行研究和分析,并讨论基于AJAX技术的搜索引擎与传统搜索引擎的区别。 一、AJAX技术的定义和工作原理 AJAX即异步JavaScript和XML(Asynchronous JavaScript and ...

    分页技术原理与实现之无刷新的Ajax分页技术(三)

    紧接着上篇—分页技术原理与实现之Java+Oracle代码实现分页(二) ,本篇继续分析分页技术。上篇讲的是分页技术的代码实现,这篇继续分析一下分页技术的效果控制。 上篇已经用代码简单的实现了一个分页。但是我们都...

    Ajax 中文手册(快速上手)

    1. AJAX介绍 AJAX是一种运用JavaScript和...简要分析上一章节效果的代码原理 4. AJAX与数据库 AJAX可以用来和数据端进行数据的交互联通。 5. 使用AJAX制作留言本 使用已有的AJAX教程,制作一个属于自己的留言本吧....

    Ajax中文手册(快速上手).rar

    1. AJAX介绍 ...简要分析上一章节效果的代码原理 4. AJAX与数据库 AJAX可以用来和数据端进行数据的交互联通。 5. 使用AJAX制作留言本 使用已有的AJAX教程,制作一个属于自己的留言本吧....

    动力节点老杜Ajax教程配套学习笔记分享

    本套ajax视频对ajax底层实现原理讲解非常透彻,对ajax发送异步请求的每一步都进行了透彻的分析,让你彻底搞懂搞透ajax。课程主要涵盖内容: ajax底层实现原理剖析、 ajax跨域,手写jquery库、 ajax省市联动、 ajax...

    AJAX技术在教学网站中的应用研究

    本文从研陌b技术发展的起源谈起,分析AJAX能够为传统的研尾b应用带 来些什么,它的优势在什么地方。然后解释AJAX的基本组成技术和核心原理, 展示了最小的AJAX框架应该拥有的组成部分和AJAX数据交互的基础方法。通 ...

    Ajax基础教程(扫描版)

     ajax技术可以提供高度交互的web应用,给予用户更丰富的页面浏览体验。本书重点介绍ajax及相关的工具和技术,主要内容包括xmlhttprequest对象及其属性和方法、发送请求和处理响应、构建完备的ajax开发工具、使用...

    基于AJAX技术的电子商务系统研究及应用

    本文对AJAX技术及其工作原理进行了深入研究,通过分析传统的商务系统请求/响应方式所带来的用户交互可用性的不足,将AJAX异步请求访问技术应用于电子商务系统,极大增强了用户体验和交互性。对于构建高可用性,智能...

    Ajax教程chm文档

    1. AJAX介绍 AJAX是一种运用(JavaScript)和可扩展标记语言(XML),在网络浏览器和服务器之间传送...简要分析上一章节效果的代码原理 7. AJAX与数据库 AJAX可以用来和数据端进行数据的交互联通。 8. 使用AJAX制作留言本

    Ajax中文手册(快速上手)

    Ajax中文手册(快速上手) 《Ajax中文手册(快速上手)》内容: 1. AJAX介绍 ...简要分析上一章节效果的代码原理 4. AJAX与数据库 AJAX可以用来和数据端进行数据的交互联通。 5. 使用AJAX制作留言本

Global site tag (gtag.js) - Google Analytics