【问题标题】:Storing API data in global variables jquery将API数据存储在全局变量jquery中
【发布时间】:2016-05-21 11:32:04
【问题描述】:
var position= $.getJSON( "http://ip-api.com/json", function( data ) {
  position =  {lon: data.lon, lat: data.lat}
  return position;
});
 var lon = position.lon;
 var lat = position.lat;
console.log(lon);

如何让异步函数中的变量成为全局变量?

【问题讨论】:

    标签: jquery json geolocation


    【解决方案1】:

    试试这个,这是个好方法

    window.onload = function() {
    set();
    setTimeout(get,2000);;
    };
    function set() {
    $.getJSON( "http://ip-api.com/json",function(data) {
    var position = {"lon": data.lon,"lat": data.lat};
    document.getElementById("id").value= position;
    });
    }
    function get() {
    var k = $("#id").val();
    console.log(k);
    
    }
    

    【讨论】:

      【解决方案2】:

      我想通了。我使 ajax 函数不像这样异步:

      $.ajax({
      async: false,
      url: "http://ip-api.com/json",
      success: function(data) {
      console.log(data);
      position = { lon: data.lon, lat: data.lat };
      }
      });
      

      【讨论】:

        【解决方案3】:

        在声明你想要全局的变量时不要使用 var

        【讨论】:

          猜你喜欢
          • 2021-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-25
          • 1970-01-01
          • 2019-04-14
          • 2016-01-24
          • 2011-02-21
          相关资源
          最近更新 更多