2015-09-02 39 views
0

我创建了包含对服务器执行POST和GET请求的AJAX函数的control.js文件。从包含AJAX函数的JavaScript文件返回数据

问题是,我无法将从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...// 
} 

回答

0

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

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