Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->网站设计 ->AJAX教程 ->Ajax的错误处理机制探讨
  相关分类: 
AJAX教程
CSS/CSS2
Dreamweaver
Fireworks
Flash
HTML/DHTML
JavaScript
Phososhop
网页制作
  站内搜索: 
热门文章排行
热门文章排行 Ajax实现分页查询(06-04)
prototype.js 1.4 原代码阅读(04-24)
使用AjaxPro开发四级无刷新联动下拉(06-04)
在Struts应用中使用Ajax(04-24)
Ajax:拥抱JSON,让XML走开(04-24)
精采文章排行
精采文章排行 使用AjaxPro开发四级无刷新联动下拉(06-04)
微软Asp.net Ajax 1.0的AutoComplete(06-04)
Ajax实现分页查询(06-04)
Ajax实现不刷屏的前提下实现页面定时(06-04)
Ajax程序设计入门(06-04)
 

Ajax的错误处理机制探讨

作者:Webmaster   来源:Linux-cn.com   点击:   日期:2007-04-24 [收藏] [投稿]

  IE是否经常中毒?推荐您

·微软Asp.net Ajax 1.0的AutoComplete控件·Ajax实现分页查询·Ajax实现不刷屏的前提下实现页面定时刷新·Ajax程序设计入门·微软的Ajax库客户端Bug总结·利用AJAX和ASP.NET实现简单聊天室 ·利用AJAX技术实现网页无刷新进度条显示·Ajax联动下拉框的实现例子·AJAX如何与后台交互
【导读】本文针对Ajax的错误处理机制进行探讨

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

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

}


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Ajax应用(jsp例子)   下一篇:Ajax简要说明及实例
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·使用AjaxPro开发四级无刷新联动下拉框

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。