【问题标题】:store all value in variable with comma separate将所有值存储在以逗号分隔的变量中
【发布时间】:2013-05-08 16:14:59
【问题描述】:

我正在尝试使用 ajax 从 url 获取 lat 和 long 值。
用这个:-

$(function() { 
            var region = "Rajkot,Jamnagar,Surat";
            var cn ="IN";
            var array = region.split(',');
            for(var item in array)
            {
            var lat;
            $.ajax({

                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array[item]+"&country="+cn+"&format=json",
                              async: false,
                              dataType:'jsonp',
                              success: function(data){        
                    lat = data.result[0].lat;
                    lng = data.result[0].lng;
                    alert(lat);
        }
        });                 
        }

在这里我得到了纬度和经度值。
但我想用逗号分隔一个变量中的所有纬度值。
以及用逗号分隔的另一个变量中的所有 lng 值。
怎么可能。
帮助。谢谢....

【问题讨论】:

    标签: javascript ajax foreach


    【解决方案1】:
    var lat = new Array(), lng = new Array();
    
    var totalLength = array.length;
    var count = 0;
    
    for(var item in array) {
        $.ajax({
            url: "http://services.gisgraphy.com//geocoding/geocodeaddress="+array[item]+"&country="+cn+"&format=json",
            async: false,
            dataType:'jsonp',
            success: function(data) {
                count++;
                lat.push(data.result[0].lat);
                lng.push(data.result[0].lng);
    
                if (count == totalLength) {
                    var commaSeperatedLat = lat.toString();
                    var commaSeperatedLong = lng.toString();
                }
            }, 
            error: function(data) {
                count++;//handle
            }
        });
    }
    

    【讨论】:

    • 当我提醒(commaSeperatedLat)显示空白时。
    • 查看我的编辑。由于您使用的是 AJAX 请求,因此您需要等待它们完成。
    • 检查这个小提琴jsfiddle.net/K7bUr。看控制台。您将看到您发送请求的 url 给出了内部服务器错误。
    • 还要检查这个jsfiddle.net/K7bUr/3 这是你的代码,我想把变量值放到另一个函数中。
    • 这种情况需要使用javascript回调。我已经更新了小提琴。看看这个。通过使用回调,您不必使用计数。你可以很容易地看到如何做到这一点。这是小提琴:jsfiddle.net/K7bUr/5
    【解决方案2】:
    var lat = new Array(), lng = new Array();
    var latStr='',lonStr='';
    
     success: function(data){        
            lat.push(data.result[0].lat);
            lng.push(data.result[0].lng);
        }
    
      latStr = lat.join(',');
      lonStr = lng.join(',');
    

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 2022-07-09
      相关资源
      最近更新 更多