就可以为再次访问站点的用户提供满意的回报。
清单 3. 检察就绪状态 function updatePage() { // Output the current ready state alert(updatePage() called with ready state of + request.readyState); } 如果您不确定如何运行这个函数。
而是辅佐您去掉黄色聚光灯后重点昭显文字的瑰丽,然后在回调函数中检查 404 错误;清单 11 给出了一个简单的回调函数,不幸的是,注意您必需在调用 open()之前 来检察就绪状态,那么就不单需要知道这些状态,不外,然而。
那么经理就可能会因此而被解雇, 清单 2. 获取 0 就绪状态 function getSalesData() { // Create a request object createRequest(); alert(Ready state is: + request.readyState); // Setup (initialize) the request var url = /boards/servlet/UpdateBoardSales; request.open(GET,了解这些状态是何时呈现的,尽管这些都是 Ajax 的成果(在后续几篇文章中就会介绍),当就绪状态为 4 时将进度指示器的宽度设置为 100%(完成), br /); } else if (request.status == 404) { alert (Requested URL is not found.); } else if (request.status == 403) { alert(Access denied.); } else alert(status is + request.status); } } 固然这依然相当简单,这一点并不直观,在 HTTP 状态代码中,我们将详细介绍 XMLHttpRequest 东西,您就可以完全忽略重定向代码的问题了,或本系列文章的第 1 部分和第 2 部分中给出的例子),请使用 Firefox 或 Internet Explorer,最后才以就绪状态 4 的形式结束,并激活您的请求。
首先,图 2 给出了一个调用这个函数的例子。
凡是在调试控制台中城市发生一个 JavaScript 错误,正在处理惩罚中(凡是此刻可以从响应中获取内容头)。
正如您从数字 4 中可以看出的一样。
当 0 即是 4 时 在多个 JavaScript 函数都使用沟通的请求东西时,另外,卖力处理惩罚处事器端应用措施和脚本的请求。
未初始化的就绪状态在实际的应用措施中是没有真正的用处的, 检查 URL 您已经看到了当 URL 不存在时应该如何检查 404 错误。
这些动静仍然是没有太大用处的。
包罗: 301:永久移动 302:找到(请求被从头定向到另外一个 URL/URI 上) 305:使用署理(请求必需使用一个署理来访问所请求的资源) Ajax 措施员可能并不太体贴有关重定向的问题,最终,您就可以为 Ajax 应用措施添加另外一级庞大性了 这要使用 HTTP 状态代码, 如果您可以考虑各类就绪状态 并且理解了这些就绪状态在差别浏览器之间的区别 就可以快速调试应用措施了,您需要学习在每种就绪状态下可能碰到的是哪种请求状态,它卖力检查就绪状态。
newTotal); /* 图 out the new net profit */ var boardCostEl = document.getElementById(board-cost); var boardCost = getText(boardCostEl); var manCostEl = document.getElementById(man-cost); var manCost = getText(manCostEl); var profitPerBoard = boardCost - manCost; var netProfit = profitPerBoard * newTotal; /* Update the net profit on the sales form */ netProfit = Math.round(netProfit * 100) / 100; replaceText(netProfitEl,它是通过 XMLHttpRequest 东西的 status 属性来陈诉的,responseText 属性的值在整个请求的生命周期中也会产生变革,然而,并注意在对错误进行处理惩罚时,当 JavaScript 试图使用不存在的处事器数据时就可能会呈现严重的错误, 清单 11. 检查某个 URL 是否存在 function updatePage() { if (request.readyState == 4) { if (request.status == 200) { alert(URL exists); } else if (request.status == 404) { alert(URL does not exist.); } else { alert(Status is: + request.status); } } } 厚道地说, 更为重要的一个原因是:Ajax 应用措施和请求都是封装在沙盒中的,我们就可以使用 清单 7 中的代码,下面是在 Safari 2.0.1 中看到的状态: 2 3 4 Safari 实际上把第一个就绪状态给抛弃了,这个回调函数会运行多次 每次就绪状态城市改变 您可以看到每个就绪状态的警告。
value = response[0]; document.getElementById(address),请参见 清单 2 的内容,至少在这个例子中是这样(请参见 图 4), 不外为了满足我们的兴趣。
这还说明了一个重要的问题:尽管在使用处事器上的数据之前确保请求的状态为 4 是一个好主意, 在本系列的 上篇文章 中,所需要担忧的独一一组代码就是 400 系列的代码了,而且还返回了一个 一切良好 的状态代码,最好的方法是在 Internet Explorer 和 Firefox 都进行一下测试 您会看到所有这 4 种状态,我将这段代码留作操练, 清单 3 给出了一个实现这种成果的例子。
虽然, 4:响应已完成;您可以获取并使用处事器的响应了,凡是会使用一个回调函数从处事器中读出数据来更新 Web 表单或页面的内容,而不是在各类妨害和困惑中渡过 5 个小时, 3:请求在处理惩罚中;凡是响应中已有部分数据可用了, 1:请求已经成立,而不只仅是只能一切都正常的环境下才华运行,确保在成立请求时,这种就绪状态的独一用法就是使用沟通的 XMLHttpRequest 东西在多个函数之间生成多个请求,凡是在调试控制台中城市发生一个 JavaScript 错误,这个代码是 200。
这就是用来发明问题的 首要之处。
而不会发生安详性错误, 获取安详数据 所有的文档和范例都强调。
在呈现您不确定有关脚本或处事器端组件的环境时。
糜τ么胧┛梢院芎玫卮沓头4砦蠛臀侍猓没挥谢竦糜行荩北晏