开发者

Ajax Request returns undefined result

i have a problem with Ajax Request ( Basic function )

here's ajax function

function ajax(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
 if (window.ActiveXObject){ 
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
   }
  }
 }
 else if (window.XMLHttpRequest)
  return new XMLHttpRequest()
 else
  return false
}

here is another function

 _2xm.load = function (p, type)
    {
      p = p.replace("frame_", "");
      loading(type);
      var req=new ajax();
      var __page =encodeURIComponent(p);
      req.open("GET", "page.php?page="+__page, true);
      req.send(null);
      req.onreadystatechange=function(){
        if (req.readySt开发者_StackOverflow社区ate==4)
        {
          if (req.status==200 || window.location.href.indexOf("http")==-1)
          {
           loading(2);
           return req.responseText;
          }
          else
          {
            loading(2);
            return "An error was occured.... ";
          }
        }
      }
    }

here is part of code which uses _2xm.load() function :

_2xm.loadData = [_2xm.load(pg, 0), _2xm.now(), _2xm.interval * 60];

but the result is allways Undefined, why?


You never returned a value from _2xm.load, so the function implicitly evaluates to undefined.

You return values only from the anonymous function callback bound to req.onreadystatechange, which fires at some later stage, asynchronously, long after your function call to _2xm.load has finished.

Perhaps you should consider a synchronous request.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜