当前位置: 代码迷 >> JavaScript >> XMLHTTP,该怎么解决
  详细解决方案

XMLHTTP,该怎么解决

热度:85   发布时间:2012-03-31 13:13:26.0
XMLHTTP

var   b   =   new   ActiveXObject( "Microsoft.XMLHTTP ");
b.onreadystatechange     =   function(){
if(b.readyState   ==   4   &&   b.status   ==   200){

var   strResult   =   b.responseText;
}  

b.open( "POST ",url,true);
b.send(null);      

}
同步可以得到数据,改成true后,就得不到数据了,   没有执行到if语句里面
js提示:完成该操作所需的数据还不可使用

------解决方案--------------------
var b = new ActiveXObject( "Microsoft.XMLHTTP ");
b.onreadystatechange = function(){
if(b.readyState == 4 && b.status == 200){

var strResult = b.responseText;
}
}

b.open( "POST ",url,true);
b.send(null);


------解决方案--------------------
要注意异步的特性,使用回调函数,而不是顺序执行

function callBack ($Context) {
alert($Context);
}

var b = new ActiveXObject( "Microsoft.XMLHTTP ");
b.onreadystatechange = function(){
if(b.readyState == 4 && b.status == 200){

callBack(b.responseText);
}
}

b.open( "POST ",url,true);
b.send(null);