XML HTTP Req仅返回Undefined

时间:2012-11-05 14:28:57

标签: javascript xml http

我哥哥之前编写的代码,但我认为我错误地改变了他,也许你可以看出为什么他不会返回XML数据。

function CheckFromTo(From,To) 
{
    //alert(From + "," + To);
    var xmlHttp = null;
    var Url = "http://www.fpl.co.il/bo/info/CheckFromTo.aspx?FROM=" + From + "&TO=" + To + "";
xmlHttp = new XMLHttpRequest(); 
    xmlHttp.onreadystatechange = ProcessRequest;
    xmlHttp.open( "GET", Url, true );
    xmlHttp.send(null);
    return (ProcessRequest());


    function ProcessRequest() 
    {
            if ( xmlHttp.readyState == 4 && xmlHttp.status == 200 ) 
            {
                    var response = xmlHttp.responseText;
                    return response;    
            }
    }
}

1 个答案:

答案 0 :(得分:1)

查看您的XMLHttprequest对象

xmlHttp.open( "GET", Url, true );  <-- the true Boolean

open方法中的true布尔值意味着您正在使用异步调用,这意味着您无法返回值。欢迎使用异步编程。

为什么它返回undefined?

当统计数据不是200且readystate不是4时,ProcessRequest会发生什么?没什么,它什么也没有返回,因此未定义。

使用异步调用时需要使用回调函数。这意味着将您的逻辑分解为多个步骤。