读书人

XMLHTTP,该怎么解决

发布时间: 2012-03-31 13:13:26 作者: rapoo

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

读书人网 >JavaScript

热点推荐