在函数外部使用Ajax结果

时间:2013-05-05 18:00:18

标签: jquery ajax arrays

如何在ajax函数之外使用ajax请求的结果?

我将结果发送到其他功能,它应该正常工作。

这是我使用的代码。

function ajaxcall_array(value) { 
    var tmpajaxdata = new Array(); 
    for (var i = 0; i < value.length; ++i){ 
        tmpvar=(value[i]) ;  
        tmpajaxdata.push(tmpvar) ; 
        return tmpajaxdata ; 
        } 
        return tmpajaxdata ; 
        alert(tmpajaxdata); 
        console.debug(tmpajaxdata);
} 

function ajaxcall(){
$.ajax({ 
  url: 'ajax.php',             
  data: "name", 
  type:'GET', 
  async:false, 
  dataType: 'json',                 //data format 
  success: function(results)        //on recieve of reply 
  { 
        ajaxdata = ajaxcall_array(results) ;
        return ajaxdata ;
  } 
}); 
return ajaxdata ;
alert(ajaxdata);
} 
ajaxcall(); 

由于

1 个答案:

答案 0 :(得分:0)

这是有效的,但在alert / console.log之前,您已经在ajaxcall_arrray()

中返回了值
function ajaxcall_array(value) { 
    var tmpajaxdata = new Array(); 
    for (var i = 0; i < value.length; ++i){ 
        tmpvar=(value[i]) ;  
        tmpajaxdata.push(tmpvar) ; 
        return tmpajaxdata ; 
    } 
    return tmpajaxdata ; 

    // HERE ALREADY RETURNED
    // CODE BELOW NEVER HIT
    alert(tmpajaxdata); 
    console.debug(tmpajaxdata);
}