无法将值推送到$ .post()方法内的全局数组中

时间:2014-09-23 18:21:37

标签: jquery html5

我正在尝试将返回的数据从$ .post方法推送到全局数组...请帮我如何返回整个数组

var retval =[];
function returnOptionList(optName){

  $.post('getListTypes',{"key":optName},function(data) {

    if (data.ListNames == optName){

        for(var i=0; i<data.Values.length;i++){ 

               retval.push(data.Values[i]);
        }

      } 

    });
   return retval;       
}

1 个答案:

答案 0 :(得分:0)

使用回调来从AJAX调用返回数据,而不是return

function returnOptionList(optName, callback){
    $.post('getListTypes',{"key":optName},function(data) {

        if (data.ListNames == optName){

            for(var i=0; i<data.Values.length;i++){ 

                retval.push(data.Values[i]);
            }

        } 
        callback(retval)
    });       
}

并致电:

returnOptionList(optName, data) {
    console.log(data); //your array
})