在open之前加上这个
xmlHTTP.onreadystatechange = function () // 处理返回信息方法 start
{
if (msxml_http_request.readyState == 4)
{ // 判断对象状态,readyState = 4,说明交互已经完成 if (msxml_http_request.status == 200)
{ // 信息已经成功返回,开始处理信息
var strResult = msxml_http_request.responseText;
k();
}
else if (msxml_http_request.status == 404)
{
alert("文件未找到!");
}
else
{ //页面不正常
alert("\u60a8\u6240\u8bf7\u6c42\u7684\u9875\u9762\u6709\u5f02\u5e38\u3002!\n" + msxml_http_request.statusText);
}
}
};//处理返回信息方法 end
xmlHTTP.onreadystatechange = function () // 处理返回信息方法 start
{
if (msxml_http_request.readyState == 4)
{ // 判断对象状态,readyState = 4,说明交互已经完成 if (msxml_http_request.status == 200)
{ // 信息已经成功返回,开始处理信息
var strResult = msxml_http_request.responseText;
k();
}
else if (msxml_http_request.status == 404)
{
alert("文件未找到!");
}
else
{ //页面不正常
alert("\u60a8\u6240\u8bf7\u6c42\u7684\u9875\u9762\u6709\u5f02\u5e38\u3002!\n" + msxml_http_request.statusText);
}
}
};//处理返回信息方法 end
通过 a.htm 中的 readchild 函数已经把 server.asp 中执行的结果写到了 a.htm 中的层中来了啊。你的意思还是不能直接调用 server.asp 中的函数??
<a href="javascript:k()">我想点此执行 server.asp 中的函数 k()</a>
<script language=javascript>
readchild()
function readchild()
{
dest = "server.asp?id=123";
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("POST",dest,false);
xmlHTTP.onreadystatechange = k();
xmlHTTP.send();
divContent=xmlHTTP.responseText;
xmlHTTP=null;
divobj.innerHTML = divContent; // divobj 是一个层
}
</script>
-----------------------页面 server.asp----------------
<script language=javascript>
function k()
{
alert("ok")
}
</script>
这样调用的就是a.htm通过responsTex里面k()