⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 掌握 ajax,第 3 部分 ajax 中的高级请求和响应.htm

📁 主要是我最近两月在公司通过百度学习的内容,有AJAX,DWR,JAVA实现文件的上传和下载.主要目的在与告诉大家一个成功程序员(JAVA)是如何学习的,需要学习什么内容.以及学习的态度.
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                    <TR>
                      <TD class=v14-header-1-small>文档选项</TD></TR></TBODY></TABLE>
                  <TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD class=no-padding width=150>
                        <TABLE cellSpacing=0 cellPadding=0 width=143 
                          border=0><IMG height=1 alt="" 
                          src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                          width=8>
                          <FORM name=email 
                          action=https://www.ibm.com/developerworks/secure/email-it.jsp><INPUT 
                          type=hidden 
                          value="对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可;但是对于希望掌握 Ajax 的开发人员来说,必须要全面理解 HTTP 状态代码、就绪状态和 XMLHttpRequest 对象。在本文中,Brett McLaughlin 将向您介绍各种状态代码,并展示浏览器如何对其进行处理,本文还给出了在 Ajax 中使用的比较少见的 HTTP 请求。" 
                          name=body><INPUT type=hidden 
                          value="掌握 Ajax,第 3 部分: Ajax 中的高级请求和响应" 
                          name=subject><INPUT type=hidden value=cn name=lang>
                          <SCRIPT language=JavaScript type=text/javascript><!--document.write('<tr valign="top"><td width="8"><img src="//www.ibm.com/i/c.gif" width="8" height="1" alt=""/></td><td width="16"><img src="//www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="将此页作为电子邮件发送" /></td><td width="122"><p><a class="smallplainlink" href="javascript:document.email.submit();"><b>将此页作为电子邮件发送</b></a></p></td></tr>');//--></SCRIPT>
                          <NOSCRIPT>
                          <TBODY>
                          <TR vAlign=top>
                            <TD width=8><IMG height=1 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                              width=8></TD>
                            <TD width=16><IMG height=16 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                              width=16></TD>
                            <TD class=small width=122>
                              <P><SPAN class=ast>未显示需要 JavaScript 
                              的文档选项</SPAN></P></TD></TR></NOSCRIPT></FORM>
                          <TR vAlign=top>
                            <TD width=8><IMG height=1 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                              width=8></TD>
                            <TD width=16><IMG height=16 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/fw_bold.gif" 
                              width=16 vspace=3 border=0></TD>
                            <TD width=122>
                              <P><A class=smallplainlink 
                              href="http://www.ibm.com/developerworks/community/"><B>讨论</B></A></P></TD></TR>
                          <TR vAlign=top>
                            <TD width=8><IMG height=1 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                              width=8></TD>
                            <TD width=16><IMG height=16 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/dn.gif" 
                              width=16 vspace=3 border=0></TD>
                            <TD width=122>
                              <P><A class=smallplainlink 
                              href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#download"><B>样例代码</B></A></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- 03/20/06 updated by gretchen --><BR>
                  <TABLE cellSpacing=0 cellPadding=0 width=150 border=0>
                    <TBODY>
                    <TR>
                      <TD class=v14-header-2-small>拓展 Tomcat 
                  应用</TD></TR></TBODY></TABLE>
                  <TABLE class=v14-gray-table-border cellSpacing=0 cellPadding=0 
                  border=0>
                    <TBODY>
                    <TR>
                      <TD class=no-padding width=150>
                        <TABLE cellSpacing=0 cellPadding=0 width=143 border=0>
                          <TBODY>
                          <TR vAlign=top>
                            <TD width=8><IMG height=1 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" 
                              width=8></TD>
                            <TD><IMG height=16 alt="" 
                              src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/fw_bold.gif" 
                              width=16 vspace=3 border=0></TD>
                            <TD width=125>
                              <P><A class=smallplainlink 
                              href="http://www.ibm.com/developerworks/cn/kickstart/webserver.html?S_TACT=105AGX52&amp;S_CMP=simpleart">下载 
                              IBM 开源 J2EE 应用服务器 WAS CE 新版本 V1.1</A> 
                          </P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--END RESERVED FOR FUTURE USE INCLUDE FILES--><BR></TD></TR></TBODY></TABLE>
            <P>级别: 初级</P>
            <P><A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#author">Brett 
            McLaughlin</A> (<A 
            href="mailto:brett@newInstance.com?subject=Ajax 中的高级请求和响应&amp;cc=htc@us.ibm.com">mailto:brett@newInstance.com?subject=Ajax 
            中的高级请求和响应&amp;cc=htc@us.ibm.com</A>), 作家,编辑, O'Reilly Media 
            Inc.<BR></P>
            <P>2006 年 3 月 23 日</P>
            <BLOCKQUOTE>对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可;但是对于希望掌握 Ajax 
              的开发人员来说,必须要全面理解 HTTP 状态代码、就绪状态和 XMLHttpRequest 对象。在本文中,Brett 
              McLaughlin 将向您介绍各种状态代码,并展示浏览器如何对其进行处理,本文还给出了在 Ajax 中使用的比较少见的 HTTP 
              请求。</BLOCKQUOTE><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
            <P>在本系列的 <A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/">上篇文章</A> 
            中,我们将详细介绍 <CODE>XMLHttpRequest</CODE> 对象,它是 Ajax 
            应用程序的中心,负责处理服务器端应用程序和脚本的请求,并处理从服务器端组件返回的数据。由于所有的 Ajax 应用程序都要使用 
            <CODE>XMLHttpRequest</CODE> 对象,因此您可能会希望熟悉这个对象,从而能够让 Ajax 执行得更好。</P>
            <P>在本文中,我将在上一篇文章的基础上重点介绍这个请求对象的 3 个关键部分的内容:</P>
            <UL>
              <LI>HTTP 就绪状态 
              <LI>HTTP 状态代码 
              <LI>可以生成的请求类型 </LI></UL>
            <P>这三部分内容都是在构造一个请求时所要考虑的因素;但是介绍这些主题的内容太少了。然而,如果您不仅仅是想了解 Ajax 
            编程的常识,而是希望了解更多内容,就需要熟悉就绪状态、状态代码和请求本身的内容。当应用程序出现问题时 —— 这种问题总是存在 —— 
            那么如果能够正确理解就绪状态、如何生成一个 HEAD 请求或者 400 的状态代码的确切含义,就可以在 5 
            分钟内调试出问题,而不是在各种挫折和困惑中度过 5 个小时。</P>
            <TABLE cellSpacing=0 cellPadding=0 width="50%" align=right 
              border=0><TBODY>
              <TR>
                <TD width=10><IMG height=1 alt="" 
                  src="掌握 Ajax,第 3 部分 Ajax 中的高级请求和响应.files/c.gif" width=10></TD>
                <TD>
                  <TABLE cellSpacing=0 cellPadding=5 width="100%" border=1>
                    <TBODY>
                    <TR>
                      <TD bgColor=#eeeeee><A name=N1009F><B>XMLHttpRequest 或 
                        XMLHttp:换名玫瑰</B></A><BR>
                        <P>Microsoft™ 和 Internet Explorer 使用了一个名为 
                        <CODE>XMLHttp</CODE> 的对象,而不是 <CODE>XMLHttpRequest</CODE> 
                        对象,而 Mozilla、Opera、Safari 和 大部分非 Microsoft 
                        浏览器都使用的是后者。为了简单性起见,我将这两个对象都简单地称为 
                        <CODE>XMLHttpRequest</CODE>。这既符合我们在 Web 上看到的情况,又符合 
                        Microsoft 在 Internet Explorer 7.0 中使用 
                        <CODE>XMLHttpRequest</CODE> 作为请求对象的意图。(有关这个问题的更多内容,请参见 
                        <A 
                        href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/">第 
                        2 部分</A>。)</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
            <P>下面让我们首先来看一下 HTTP 就绪状态。</P>
            <P><A name=N100C1><SPAN class=atitle>深入了解 HTTP 就绪状态</SPAN></A></P>
            <P>您应该还记得在上一篇文章中 <CODE>XMLHttpRequest</CODE> 对象有一个名为 
            <CODE>readyState</CODE> 
            的属性。这个属性确保服务器已经完成了一个请求,通常会使用一个回调函数从服务器中读出数据来更新 Web 表单或页面的内容。<A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#listing1">清单 
            1</A> 给出了一个简单的例子(这也是本系列的上一篇文章中的一个例子 —— 请参见 <A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#resources">参考资料</A>)。</P><BR><BR><A 
            name=listing1><B>清单 1. 在回调函数中处理服务器的响应</B></A><BR>
            <TABLE cellSpacing=0 cellPadding=0 width="50%" border=0>
              <TBODY>
              <TR>
                <TD class=code-outline><PRE class=displaycode>
 function updatePage() {
   <SPAN class=boldcode>if (request.readyState == 4) {</SPAN>
     if (request.status == 200) {
       var response = request.responseText.split("|");
       document.getElementById("order").value = response[0];
       document.getElementById("address").innerHTML =
         response[1].replace(/\n/g, "&lt;br /&gt;");
     } else
       alert("status is " + request.status);
   }
 }
</PRE></TD></TR></TBODY></TABLE><BR>
            <P>这显然是就绪状态最常见(也是最简单)的用法。正如您从数字 "4" 
            中可以看出的一样,还有其他几个就绪状态(您在上一篇文章中也看到过这个清单 —— 请参见 <A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#resources">参考资料</A>):</P>
            <UL>
              <LI><B>0</B>:请求未初始化(还没有调用 <CODE>open()</CODE>)。 
              <LI><B>1</B>:请求已经建立,但是还没有发送(还没有调用 <CODE>send()</CODE>)。 
              <LI><B>2</B>:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。 
              <LI><B>3</B>:请求在处理中;通常响应中已有部分数据可用了,但是服务器还没有完成响应的生成。 
              <LI><B>4</B>:响应已完成;您可以获取并使用服务器的响应了。 </LI></UL>
            <P>如果您希望不仅仅是了解 Ajax 
            编程的基本知识,那么就不但需要知道这些状态,了解这些状态是何时出现的,以及如何来使用这些状态。首先,您需要学习在每种就绪状态下可能碰到的是哪种请求状态。不幸的是,这一点并不直观,而且会涉及几种特殊的情况。</P>
            <P><A name=N10117><SPAN class=smalltitle>隐秘就绪状态</SPAN></A></P>
            <P>第一种就绪状态的特点是 <CODE>readyState</CODE> 属性为 0(<CODE>readyState == 
            0</CODE>),表示未初始化状态。一旦对请求对象调用 <CODE>open()</CODE> 之后,这个属性就被设置为 
            1。由于您通常都是在一对请求进行初始化之后就立即调用 <CODE>open()</CODE>,因此很少会看到 
            <CODE>readyState == 0</CODE> 的状态。另外,未初始化的就绪状态在实际的应用程序中是没有真正的用处的。</P>
            <P>不过为了满足我们的兴趣,请参见 <A 
            href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/#listing2">清单 
            2</A> 的内容,其中显示了如何在 readyState 被设置为 0 时来获取这种就绪状态。</P><BR><BR><A 
            name=listing2><B>清单 2. 获取 0 就绪状态</B></A><BR>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD class=code-outline><PRE class=displaycode>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -