在函数外部使用Ajax结果
如何在ajax函数之外使用ajax请求的结果?
我将结果发送到其他function,它应该正常工作。
这是我使用的代码。
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();
谢谢
这是有效的,但是在你的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); }