请教一个Microsoft.XMLHTTP 返回的值的执行问题,在线等
---------------页面 a.htm----------------
<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.send();
divContent=xmlHTTP.responseText;
xmlHTTP=null;
divobj.innerHTML = divContent; // divobj 是一个层
}
</script>
-----------------------页面 server.asp----------------
<script language=javascript>
function k()
{
alert( "ok ")
}
</script>
问题: 我想在页面 a.htm 中执行 server.asp 中的函数 k()
请问怎么才能执行呢??
[解决办法]
在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
[解决办法]
---------------页面 a.htm----------------
<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()