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