AjaxHacks-hack8处理RequestObject的错误.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AjaxHacks-hack8处理RequestObject的错误

Ajax Hacks-hack8 处理Request Object 的错误 让Ajax能检测服务器的错误,并能像用户提供有用的信息。 Ajax技术的魅力在于允许JavaScript能在用户不干预的情况下与服务器连接。然而JavaScript开发者经常无法控制服务器组件(可能是一个web服务或其他软件)。尽管你的应用程序包括了你自己的服务器组件,也无法保证服务器永远运行正常或者用户遇到错误。因此,当程序出错时候,必须保证应用产业程序能恢复。 本hack跟踪错误并显示出错误信息,当Ajax程序失去服务器连接的时候。 问题, 问题... Hack捕获下列异常事件,并为应用程序推荐解决的办法: 正在连接的web应用程序或服务器组件暂时不可用。 应用程序连接的服务器挂掉了,或者URL改变了。 要连接的服务器组件错误,在连接的过程中发作了。 当requst对象调用open方法时,代码使用了不同的主机地址而不是用户下载的web页面地址。当调用open方法时,request对象抛出一个异常。 你可以在其他地方使用本hack的异常处理方法。hack还使用了hack6种的股票计算程序代码。看一下html代码: “/TR/1999/REC-html401strict.dtd” Your total Stock Holdings 窗体顶端 javascript:void%200“getStockPrice(this.stSymbol.value,this.numShares.value);return false” Enter stock symbol: Enter share amount: Get Total Value When users load this file into their browsers, they see the screen shown in Figure 1-11. 窗体底端 Figure 1-11. Request a stock’s price 我们感兴趣的代码是能捕获异常的部分,后台服务器关闭、错误、或者错误的URL。handleResponse函数是事件处理函数用来管理服务器响应,request.onreadystatechange=handleResponse。接下来的代码使用try/catch/finally 来捕获并处理无效数字这一问题。 function handleResponse( ){ var statusMsg=“”; try{ if(request.readyState == 4){ if(request.status == 200){ /* Check if the return value is actually a number. If so, multiple by the number of shares and display the result */ var stockPrice = request.responseText; try{ if(isNaN(stockPrice)) { throw new Error( “The returned price is an invalid number.”;} if(isNaN(numberOfShares)) { throw new Error( “The share amount is an invalid number.”;} var info = “Total stock value: $”+ calcTotal(stockPrice); displayMsg(document. getElementById(“msgDisplay“,info,“black”; document.getElementById(“stPrice“.style.fontSize=”0. 9em”; document.getElementById(“stPrice“.innerHTML =“price: ”+ stockPrice; } catch (err) { displayMsg(document.getElementById(“msgDisplay”, “An error occurred: ”+ err.message,“red”; } } else { //request.status is 503 if the application isn‘t available; //500 if the application has a bug alert( “A problem occurred with communicatin

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档