即使你现在还没有听说,AJAX已经成为web技术领域最热门的词。AJAX框架的关键是名为 XMLHttpRequest 的 JavaScript 对象,通过它客户端开发人员可以在不打断用户操作或者在充分使用隐藏表单的情况下通过 HTTP 直接发送和接收XML文档。现在,有些人可能会有这种忧虑,让那些以前只做表单(form)校验和增加图片动画效果的客户端开发人员突然间负责分析 XML 文档结构,以及与 HTTP 协议的 header 部分打交道,这能行吗?但是,没有风险就没有回报。为了减轻这种疑惑,我将展示如何使用 XMLHttpRequest 实现以前无法实现功能,同时如何减少程序错误和如何提高程序质量。
XMLHttpRequest 和 XML DOM 的 JavaScript 基础
首先,我们需要声明一些规则。现在常用的浏览器(IE, Mozilla, Safari, Opera)都特别提供了对 XMLHttpRequest 对象的支持,同时也广泛支持 XML DOM,虽然和往常一样:微软(Microsoft)使用了一种稍微有些不同的实现并有一些需要特殊注意的地方。和我们那些更进取的朋友直接实现 XMLHttpRequest 不同,IE需要你创建一个具有相同属性的 ActiveXObject 对象的实例。Apple Developer Connection 网站上有一篇非常好的文章总览了 XMLHttpRequest,并列举了它的全部特性。
下面是个基础的例子:
var req;
function postXML(xmlDoc) {
if (window.XMLHttpRequest) req = new XMLHttpRequest();
else if (window.ActiveXObject) req = new ActiveXObject("Microsoft.XMLHTTP");
else return; // fall on our sword
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 {
// fall on our sword
}
}
这个强大的工具应用前景非常广泛,而且对其潜在应用方面的探索才刚刚开始。但是在任何准备在网上建立XML园地的人失控前,我建议我们先架起一个安全网以防止任何抱负极高的人摔断他们的脖子。
JavaScript错误处理基础
JavaScript在其早期版本就支持简单的错误处理,但是非常简陋,只有少数的特性,并且实现的很差。新近的浏览器不仅支持了类似于C++和Java用于错误处理的关键字try/catch/finally,而且实现了onerror事件提供捕捉在运行期产生的任何错误。其使用方法非常简单而且直接:
function riskyBusiness() {
try {
riskyOperation1();
riskyOperation2();
} catch (e) {
// e是错误类型对象
// 至少有两个属性:name及message
} finally {
// 清理工作
}
}
window.onerror = handleError; // 架起捕获错误的安全网
function handleError(message, URI, line) {
// 提示用户,该页可能不能正确回应
return true; // 这将终止默认信息
}
[1] [2] [3] 下一页