使用AJAX请求进行ASync阵列更新

时间:2013-09-24 19:41:31

标签: ajax asynchronous global

我一直试图弄清楚如何使用AJAX请求更新全局变量。我被困住了,需要一些帮助。

var markerArray = [];

function JSONload(position){ //Loads JSON and markers
console.log("data getting jsoned");
$.getJSON('json/***.json', function(result){ //gets the json and parses it into results
    $.each(result, function(index, value){ //for each result, give the index and the value    
    reps.push({value: value, index: index}); //push the value at to the array. ex. Ian Calderon 
    }); 


   try{ 
    for (var i=0; i<reps.length; i++){
       if(reps[i].value.lat !== 'undefined' && reps[i].value.position === position){           
         var marker = (createMarker(reps[i].value.lat, reps[i].value.long, reps[i].index)); //only try to create the marker if there is the values
         updateArray(markerArray, marker);

            }}}
   catch(e){
   }
    });

}

我试过这样做:

function updateArray(array, obj){
$.ajax({
    success : function(){
        array.push(obj);
    }
}
    );

但坦率地说,我不确定如何继续

1 个答案:

答案 0 :(得分:0)

我认为功能范围会让你失望。

试试这个:

 var that = this; 
 console.log("data getting jsoned");

  updateArray(that.markerArray, marker);

该变量应该可以访问函数中的全局变量。