字符串str总是空的虽然它充满了来自.geojson文件的数据吗?

时间:2015-09-15 06:07:45

标签: javascript jquery html ajax geojson

<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script>
    $(document).ready(function() {

      $("#p1").load("reporting/data.geojson").toString();
      var str = document.getElementById("p1").innerHTML;
      document.getElementById("p2").innerHTML = str;
    });
  </script>
</head>

<body>

  <div id="div1">
    <h2>try</h2>
  </div>
  <p id="p1"></p>
  <p id="p2"></p>
</body>

</html>

这是代码,p1清楚地显示在屏幕上,但我的实际问题是我不能用它填充字符串,“也许加载功能是最后一个行动我不知道”有点新的。我需要将.geojson文本放在一个字符串中,或​​者以任何其他方式提取坐标将为我节省字符串eddting的麻烦。谢谢你iij advance

1 个答案:

答案 0 :(得分:4)

您需要使用load回调来获取#p1的数据。

load方法是异步的,因此代码不会等待数据加载并执行下一个语句。

$(document).ready(function() {

  $("#p1").load("reporting/data.geojson", function() {
    var str = document.getElementById("p1").innerHTML;
    document.getElementById("p2").innerHTML = str;
  });
});

当您使用jQuery时,可以使用html()

$(document).ready(function () {

    $("#p1").load("reporting/data.geojson", function () {
        $('#p2').html($('#p1').html());
    });
});