当尝试在变量上推送值时,推送未定义的非值

when try to push value on variable push undefined not value

本文关键字:未定义 变量 上推      更新时间:2023-09-26

我尝试使用javascript push()在变量中推送值。有三个值

  1. <
  2. 经度/gh>

经纬度推送成功;

我知道这是一个变量定义问题,但即使我全局定义这个变量,我仍然会遇到这个问题。

我的代码:-

var get_all = new Array;
var result_lat = new Array;
var result_lng = new Array;
var activity_2= "Rajkot,Jamnagar,Surat";
var array_rg_name = activity_2.split(',');
            var cn = "IN";
for (var i=0; i<array_rg_name.length; i++ ){
            $.ajax({
                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array_rg_name[i]+"&country="+cn+"&format=json",
      async: false,
      dataType:'jsonp',
      success: function(data){        
            lat = data.result[0].lat;
            result_lat.push(lat);
            lng = data.result[0].lng;
            result_lng.push(lng);
          get_all.push('Latitude: '+lat,'Longitude: '+lng,'Region: '+ array_rg_name[i]);
          }
            });
        }
$('button').click(function(){
    alert(result_lat);
 alert(result_lng);
 alert(get_all);
})

有一个jsfiddle链接:- http://jsfiddle.net/Tr6sm/2/

有什么建议吗?

这应该可以工作DEMO

注意我正在定义rg作为ajax调用rg的一部分:array_rg_name[I]…用这个。rg之后……

var get_all = new Array;
var result_lat = new Array;
var result_lng = new Array;
var activity_2= "Rajkot,Jamnagar,Surat";
var array_rg_name = activity_2.split(',');
            var cn = "IN";
for (var i=0; i<array_rg_name.length; i++ ){
            $.ajax({
                rg: array_rg_name[i],
                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array_rg_name[i]+"&country="+cn+"&format=json",
                async: false,
                dataType:'jsonp',
                success: function(data){        
                     lat = data.result[0].lat;
                     result_lat.push(lat);
                     lng = data.result[0].lng;
                     result_lng.push(lng);
                     get_all.push('Latitude: '+lat,'Longitude: '+lng,'Region: '+ this.rg);
                 }
            });
}
$('button').click(function(){
    alert(result_lat);
 alert(result_lng);
 alert(get_all);
})