Ajax的错误处理机制探讨

发表于:2007-06-22来源:作者:点击数: 标签:
下一页 1 2 当前web技术中最热门的词语是什么?是AJAX。AJAX框架组件的核心是XMLHttpRequest Java Script对象,它允许客户端 开发 人员在不中断用户操作、不利用隐藏页面的情况下,通过HTTP发送和接收XML文档。 现在,有些人可能会感到恐惧,因为它突然允许

下一页 1 2 

   
  当前web技术中最热门的词语是什么?是AJAX。AJAX框架组件的核心是XMLHttpRequest JavaScript对象,它允许客户端开发人员在不中断用户操作、不利用隐藏页面的情况下,通过HTTP发送和接收XML文档。

现在,有些人可能会感到恐惧,因为它突然允许那些可能过多地使用了验证窗体和动画图像的客户端开发人员负责传递XML文档和处理HTTP头信息,但是,没有风险就没有收益。我们不用害怕,我将演示如何使用XMLHttpRequest来添加一些以前不可能的、行不通的特性,它同时还减少了错误,提高了产品质量



  JavaScript中的XMLHttpRequest和XML DOM

  首先,我们需要建立一些规则。特殊的XMLHttpRequest对象和一般的XML DOM都受到了最新的浏览器(IE、Mozilla、Safari、Opera)的广泛支持,尽管在一般情况下,微软对于自己的实现会稍微增加一些东西,需要某些特殊的处理。尽管我们更多的朋友直接实现了XMLHttpRequest,但是IE还是要求你用相同的属性实例化一个ActiveXObject。在Apple开发者关系站点上可以找到相关的概述和所有特性列表。

  下面是一个基本的例子:

clearcase/" target="_blank" >cc66 width="90%" align=center bgColor=#e3e3e3 border=1>
var req;
function postXML(xmlDoc) {
 if (window.XMLHttpRequest) req = new XMLHttpRequest();
 else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP");
 else return; // 失败了
 req.open(method, serverURI);
 req.setRequestHeader(’content-type’, ’text/xml’);
 req.onreadystatechange = xmlPosted;
 req.send(xmlDoc);
}
function xmlPosted() {
 if (req.readyState != 4) return;
 if (req.status == 200) {
  var result = req.responseXML;
 } else {
  // 失败了
 }
}

  这种强大的功能的潜在用户是很多的,对于它可能实现的功能的探索才刚刚开始。但是在你试图在web上的建立XML功能之前,我建议你设置一个"安全网"来保证你的抱负(想法)不会受到打击。

  JavaScript错误处理基础

  JavaScript已经出现很久了,它的早期版本比较原始,缺少特性,仅仅是实现了而已。最新的浏览器不但支持C++和Java中try/catch/finally关键字,而且实现了onerror事件,而这个事件可以捕捉运行时出现的任何错误。它的使用是非常直接的:

function riskyBusiness() {
 try {
  riskyOperation1();
  riskyOperation2();
 } catch (e) {
  // e是一个Error类型的对象,至少有两个属性:name和message
 } finally {
  // 清除消息
 }
}
window.onerror = handleError; // 捕捉所有错误的安全网
function handleError(message, URI, line) {
 // 提示用户这个页面可能无法正常响应
 return true; // 停止默认的消息
}

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)