Ajax 有人能给我解释一下我在谷歌上找到的示例脚本吗

Ajax 有人能给我解释一下我在谷歌上找到的示例脚本吗,ajax,Ajax,对不起,我无法理解这些例子。我从今天开始学习ajax 到目前为止,我已经理解了下面的脚本 if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } 但是在下面的脚本中 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyStat

对不起,我无法理解这些例子。我从今天开始学习ajax

到目前为止,我已经理解了下面的脚本

if (window.XMLHttpRequest)
  {
   xmlhttp=new XMLHttpRequest();
  }
else
 {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
但是在下面的脚本中

xmlhttp.onreadystatechange=function()
 {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
 }
为什么要使用
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText
。我不明白我们为什么要这样做。谁能给我解释一下这些,我不知道上面的脚本是不是可选的,请让我知道

以及Ajax中的post方法

xmlhttp.open("POST","test.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname="+str);
xmlhttp.setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”)的用途是什么我无法理解它的参数以及为什么要使用它,它在脚本中真正做了什么。我们所说的
内容类型
应用程序/x-www-form-urlencoded
是什么意思,它仍然在工作,即使我没有给任何用户选项

请在这两方面帮助我,我相信我已经完成了Ajax教程。谢谢

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
这基本上就是用AJAX的任何结果设置
textHint
xmlhttp.responseText
)。而
textHint
可以是ID为
textHint
的简单html代码:

<div id="textHint"></div>
等于发送HTML表单:

<form method="POST"><input type="hidden" name="fname" value="{str}"/></form>


它尝试使用
POST
方法将表单数据
fname
发送到服务器脚本
test.php
,并使用MIME-TYPE
application/x-www-form-urlencoded
传输数据

这是AJAX本身的核心思想:在不刷新整个页面的情况下更新页面上的单独元素。在本例中,您需要更新
txtHint
元素的内容

document.getElementById(“txtHint”)
将返回页面上控件的对象


这个
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText
innerHTML
属性设置为您的响应内容。

第1部分

根据浏览器的类型,您正在初始化两个对象。XHR是Mozilla、Safari、Chrome、Opera和Konqueror浏览器中的浏览器组件。名为“Microsoft.XMLHTTP”的ActiveXObject也是同一个对象,但该对象是Microsoft浏览器(Internet Explorer)中的activeX

第二部分

onreadystatechange是一个属性,您可以在其中编写自己的业务逻辑,以了解在发送请求后如何处理这个XHR对象

初始化时xmlhttp.readyState为1,不完整时为2,即将完成时为3,完成时为4。xmlhttp.status是请求的HTTP状态代码(整数)。常见状态为-200(正常)、303(已移动)、404(未找到)或500(内部服务器错误)

因此,如果(xmlhttp.readyState==completed&&xmlhttp.status=OK){do something}

第三部分

document.getElementById(“someID”)通过引用文档中的HTML元素的ID来返回该元素。如果该元素是文本节点,则DOM元素有一个名为innerHTML的属性,可用于更改/追加元素的内容

第4部分

xmlhttp.responseText—这是从服务器接收的纯文本格式的响应,您使用HTTP协议将请求发送到该服务器

还有另外两种格式可以用来处理服务器的响应。他们是,

xmlhttp.responseXML和xmlhttp.responseBody


希望这能帮助你在ajax的第一天。Yeppee.

要了解您对AJAX的要求,您确实需要了解一点HTTP协议。包括“响应头”、“内容类型”和“HTTP状态”。此链接提供了一些很好的信息:
<form method="POST"><input type="hidden" name="fname" value="{str}"/></form>