script代码的问题,偶不太明白,请高手解释。

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:39:35
下面这段代码是某网站一网页(www.xxx.com/123.php?id=2&volume=2&chapter=9)内的script代码,大体意思是通过另一个文件(456.php)抓取调用内容,但问题是如果单独只运行www.xxx.com/456.php?id=2&volume=2&chapter=9不行,必须先运行www.xxx.com/123.php?id=2&volume=2&chapter=9然后再运行www.xxx.com/456.php?id=2&volume=2&chapter=9才能显示内容,并且再刷新或再运行www.xxx.com/123.php?id=2&volume=2&chapter=9同样都不能再显示内容;不知道什么原因,代码中是否还定义了cookie或者其他时间限制之类的参数,让该网页运行过后就过期,请高手给解释一下,谢谢!
<script language=javascript>
var id = "2";
var volume = "

ajax技术
(1)
if (window.ActiveXObject)
{
objXml = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
objXml = new XMLHttpRequest();
}
这段代码是根据不同的浏览器和不同的浏览器版本创建ajax的对象
(2)
objXml.open("GET", "/456.php?id="+id+"&volume="+volume+"&chapter="+chapter, true);
objXml.send(null);
以get的传参方式把参数id,volume,chapter传给456.php页进行处理
(3)
objXml.onreadystatechange = handleStateChange;
页面状态发生变化是调用函数handleStateChange
(4)
function handleStateChange()
{
if (objXml.readyState == 4)
{
if (objXml.status == 200)
handleResult();
}
}
这部分楼上的回答是对的,看看吧,符合以上状态条件时,调用函数handleResult
(5)
chapter_content.innerHTML = objXml.responseText;
objXml.responseText是456.php根据你传的参数处理以后返回的数据
把这部分数据写入chapter_content控件中

是使用了AJAX技术,主要用于进行对页面的无刷新的请求的实现。
XMLHTTP 对象
readyState