日期:2014-05-16  浏览次数:20375 次

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);