从包含AJAX函数的JavaScript文件返回数据

时间:2015-09-02 07:40:26

标签: javascript ajax function dom asynchronous

我创建了control.js文件,其中包含对服务器执行POST和GET请求的AJAX函数。

问题是,我无法将从control.js文件中的AJAX函数收到的数据返回给其他JavaScrip文件。

据我所知,我们无法直接从异步函数返回数据。它需要额外的函数来处理函数返回的数据。

 function getServer(directory)
    {
        xmlHttp.open("GET",rootDirectory+directory);
        xmlHttp.onreadystatechange = function(){
            if(xmlHttp.readyState == 4)
            {
                if(xmlHttp.status == 200)
                {
                    Handler(xmlHttp.responseText);
                }
            }
        };
        xmlHttp.send();
    }
 function Handler(response)
 {
      return response;
 }

函数处理程序将数据正确地返回到其自己的文件中的每个函数调用(在control.js文件中)。

现在,假设我有多个JavaScript文件,我想调用此函数。如何获取此文件中函数返回的值?

示例:

function construct()
{     
    // This function belongs to load.js file not control.js
    var handler = getServer("request/read.php?table=tasks");        
    console.log(handler);  // This one return nothing...//
}

1 个答案:

答案 0 :(得分:0)

Handler函数作为参数传递,而不是将其硬编码到函数中。

getServer("/foo/bar/", myFunction);