`
kang
  • 浏览: 474474 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

全面剖析XMLHttpRequest对象(3)

阅读更多

<!---->

五、

  在 个示例中,因 HTTP 方法是 GET ,所以在服 器端的接收 servlet 用一个 doGet() 方法, 方法将 索在 URL 中指定的 catalogId 参数 ,并且从一个数据 检查 它的有效性。

   本文示例中的 servlet 需要构造一个 送到客 端的响 ;而且, 个示例返回的是 XML 型,因此,它把响 HTTP 内容 text/xml 并且把 Cache-Control no-cache Cache-Control 部可以阻止 浏览 简单 地从 存中重 载页 面。

public void doGet(HttpServletRequest request
HttpServletResponse response)
throws ServletException IOException {
  ...
  ...
  response.setContentType("text/xml");
  response.setHeader("Cache-Control" "no-cache");
}


  来自于服 器端的响 是一个 XML DOM 象,此 象将 建一个 XML 字符串 - 其中包含要在客 理的指令。另外, XML 字符串必 有一个根元素。

out.println(" catalogId valid /catalogId ");


  【注意】 XMLHttpRequest 象的 设计 目的是 理由普通文本或 XML 成的响 ;但是,一个响 也可能是另外一 种类 型,如果用 代理 (UA) 支持 这种 内容 型的

   当 求状 变时 XMLHttpRequest 用使用 onreadystatechange 注册的事件 理器。因此,在 之前,你的事 理器 应该 首先 检查 readyState HTTP 。当 求完成加 readyState 值为 4 )并且响 完成( HTTP "OK" ,你就可以 用一个 JavaScript 函数来 内容。 下列脚本 负责 在响 完成 时检查 用一个 processResponse()方法。

function processRequest(){
  if(xmlHttpReq.readyState==4){
   if(xmlHttpReq.status==200){
    processResponse();
   }
  }
}


    processResponse()方法使用 XMLHttpRequest 象的 responseXML responseText属性来 HTTP 。如上面所解 的, 当在响 的媒体 型是 text/xml application/xml或以 +xml responseXML才可用。 responseText 属性将以普通文本形式返回响 于一个 XML ,你将按如下方式 索内容:

var msg=xmlHttpReq.responseXML;


  借助于存 msg 量中的 XML,你可以使用 DOM方法 getElementsByTagName() 元素的

var catalogId=msg.getElementsByTagName("catalogId")[0].firstChild.nodeValue;


  最后,通 更新 Web 面的 validationMessage div中的 HTML内容并借助于 innerHTML属性,你可以 测试该 元素 建一个要 的消息:

if(catalogId=="valid"){
  var validationMessage = document.getElementById("validationMessage");
  validationMessage.innerHTML = "Catalog Id is Valid";
}
else
{
  var validationMessage = document.getElementById("validationMessage");
  validationMessage.innerHTML = "Catalog Id is not Valid";
}


  六、

   上面就是 XMLHttpRequest 象使用的所有 细节实现 。通 不必把 Web 面寄送到服 器而 实现 数据 送, XMLHttpRequest 端与服 器之 提供了一 种动态 的交互能力。你可以使用 JavaScript 一个 求并 理相 的返回 ,然后使用 浏览 器的 DOM 方法更新 面中的 数据。

 

 

分享到:
评论

相关推荐

    全面剖析XMLHttpRequest对象.doc

    ### 全面剖析XMLHttpRequest对象 #### 引言:AJAX与XMLHttpRequest的革命 XMLHttpRequest对象是现代网络开发中不可或缺的一部分,它是AJAX(Asynchronous JavaScript and XML)技术的核心,使得网页能够在不重新...

    全面剖析XMLHttpRequest对象

    ### 全面剖析XMLHttpRequest对象 #### 引言 随着互联网技术的发展,用户对Web应用的需求日益增长。其中,异步JavaScript与XML(AJAX)技术作为一种新兴的技术手段,在实现客户端脚本与服务器之间高效、无缝的数据...

    全面剖析XMLHttpRequest对象.txt

    ### 全面剖析XMLHttpRequest对象 #### 一、XMLHttpRequest对象简介 XMLHttpRequest是一个非常重要的JavaScript对象,它允许网页向服务器发起异步请求并处理响应数据。这种技术是实现Ajax(Asynchronous JavaScript...

    全面剖析 Ajax XMLHttpRequest对象

    XMLHttpRequest对象是Ajax技术的核心,它是现代Web应用中用于实现客户端与服务器间异步数据交换的关键组件。在不刷新整个页面的情况下,XMLHttpRequest允许开发者通过JavaScript动态更新网页内容,极大地提升了用户...

    全面剖析Ajax的XMLHttpRequest对象.doc

    Ajax 中的 XMLHttpRequest 对象 Ajax 是一种异步的 JavaScript 与 XML 技术,用于在客户端脚本与服务器之间实现数据交互过程。XMLHttpRequest 对象是 Ajax 的技术基础,尽管现在提供了各种 Ajax 框架,但是理解这个...

    全面剖析xmlhttprequest

    ### 全面剖析XMLHttpRequest XMLHttpRequest是一种在浏览器端实现异步数据请求的关键技术,它为Web应用提供了更丰富的交互体验。本文将深入探讨XMLHttpRequest的相关知识点,包括其工作原理、状态管理以及如何通过...

    javascript XMLHttpRequest对象全面剖析

    AJAX最大的特点就是其"异步"性,这意味着当XMLHttpRequest对象的send()方法被调用时,它会立即返回,允许浏览器继续执行其他操作,比如处理用户输入或更新页面的显示,而不会被阻塞等待服务器的响应。这样一来,页面...

    JS XMLHttpRequest原理与使用方法深入详解

    接下来,文章通过结合实例的形式,深入剖析了XMLHttpRequest对象的工作原理以及如何在实际开发中有效地使用它。 首先,文章对Ajax和XMLHttpRequest这两个概念进行了区分。Ajax并不是一种新技术,而是依赖于已有的...

    ajax超详细资料,包你学会

    3. **创建XMLHttpRequest对象**:所有现代浏览器都内置了XMLHttpRequest对象,可以通过JavaScript代码创建实例。 4. **HTTP请求与响应**:Ajax通过XMLHttpRequest对象发送HTTP请求,并处理服务器返回的响应。 **二...

    掌握AJAX 真正详解

    值得注意的是,正是通过XMLHttpRequest对象,JavaScript得以与服务器进行异步通信,这也是AJAX技术之所以强大的关键所在。 #### 五、AJAX的优势 1. **提升用户体验**:通过局部更新页面内容,减少了页面加载时间,...

    [js]轻便的XMLHttpRequest应用函数:downloadUrl()

    3. **源代码分析**: - 函数首先检查 URL 是否包含问号 (`?`),如果包含,则添加 `&`,否则添加 `?`,以便附加查询参数。 - 接下来,函数生成一个随机字符串,以避免缓存问题。在 URL 后添加此随机字符串。 - ...

    javaweb资料(非常全面)

    Ajax技术部分,详细剖析了XMLHttpRequest对象,以及如何使用POST和GET方法提交Ajax请求。Ajax技术是实现Web页面异步交互的关键。 jQuery部分,介绍了jQuery的入门使用,包括jQuery的选择器、对象转换以及事件处理。...

Global site tag (gtag.js) - Google Analytics