[code="javascript"]
function Ajax(url, params, method) {
this.url = url;
this.params = params;
this.method = method;
this.sResult = '';
//this.CallBackFaunction = cbf
this.CreateXmlHttp = function (){
var ajaxObj=null;
if(window.ActiveXObject)
{
ajaxObj=new ActiveXObject("Microsoft.XMLHTTP");
}else{
if(window.XMLHttpRequest){
ajaxObj=new XMLHttpRequest();
}
}
return ajaxObj;
}
this.Ajax = function(){
var xmlHttp = this.CreateXmlHttp();
var sResult = '';
var iReady = false;
xmlHttp.open(this.method,this.url,true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(this.params);
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
sResult = xmlHttp.responseText;
iReady = true;
}
}
}
return function(){
while(iReady == false);
return sResult;
}();
}
}
[/code]
因为ajax是异步获取数据,而js是单线程执行,导致获取到的sResult总是为空,我了获取他,我这样写,但却死循环了,有谁能给点建议吗,谢谢!!!