1

我想在另一个页面中获取 Javascript 数据并在现有的 javascript 中使用它。

让我用代码解释一下。

我想从其他页面获取这些数据

   <script type="text/javascript">
      var data = {
  "users": [
    {
      "latitude": "48.405163",
      "longitude": "2.684659"
    },
    {
      "latitude": "43.7347242529278",
      "longitude": "7.42198348045349"
    }
  ]
};
    </script> 

我尝试使用此代码获取它

    $(function MapData() {
        $.getScript({
            type: "GET",
            url: "default.cs.asp?Process=ViewCheckinMap",
            success: function(data) {
                $("#content").append(data);
            },
            error: function (data) {
                $("#content").append(data);
            }
        });
    });

为了在此代码中使用数据变量中的数据

  function initialize() {
    var center = new google.maps.LatLng(48.404840395764175, 2.6845264434814453);

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 3,
      center: center,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var markers = [];
    for (var i = 0; i < data.users.length; i++) {
      var location = data.users[i];
      var latLng = new google.maps.LatLng(location.latitude,
          location.longitude);
      var marker = new google.maps.Marker({
        position: latLng
      });
      markers.push(marker);
    }
    var markerCluster = new MarkerClusterer(map, markers);
  }
  google.maps.event.addDomListener(window, 'load', initialize); 

但我得到数据未定义错误。

我还尝试使用从其他页面获取数据

$.getScript('default.cs.asp?Process=ViewCheckinMap');

但我得到了同样的错误。

我怎样才能解决这个问题?非常感谢!

4

2 回答 2

1

当您使用 加载 javascript 时$.getScript(),您不应<script>在正在加载的文件中包含标签。此外,您需要在加载完文件initialize()运行您的函数:

$.getScript('default.cs.asp?Process=ViewCheckinMap', initialize)
于 2012-05-29T08:53:29.477 回答
0

data is available only for the call back function of the getScript call. If you want to use it outside, store it in a global variable and use it.

于 2012-05-29T08:56:06.643 回答