打印本文 打印本文 关闭窗口 关闭窗口
Ajax的错误处理机制探讨
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1120  更新时间:2009/4/22 23:29:39  文章录入:mintao  责任编辑:mintao
  当前web技术中最热门的词语是什么?是AJAX。AJAX框架组件的核心是XMLHttpRequest JavaScript对象,它允许客户端开发人员在不中断用户操作、不利用隐藏页面的情况下,通过HTTP发送和接收XML文档。现在,有些人可能会感到恐惧,因为它突然允许那些可能过多地使用了验证窗体和动画图像的客户端开发人员负责传递XML文档和处理HTTP头信息,但是,没有风险就没有收益。我们不用害怕,我将演示如何使用XMLHttpRequest来添加一些以前不可能的、行不通的特性,它同时还减少了错误,提高了产品质量。

天极软件专题专区精选 Google专区 POPO专区 QQ专区 Flash MX 视频教程 Photoshop视频教程 网页设计视频教程 PowerPoint动画演示教程 Excel动画教程集 Word动画演示教程 特洛伊木马专区 黑客知识教程专区 注册表应用专区 Windows API开发专区 网络编程专区 VB数据库编程专区 图像与多媒体编程 Windows Vista应用专区 防火墙应用专区

  JavaScript中的XMLHttpRequest和XML DOM

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

  下面是一个基本的例子:

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; // 停止默认的消息
}

打印本文 打印本文 关闭窗口 关闭窗口