getScript或ajax

时间:2012-05-29 08:48:27

标签: javascript jquery

我想在另一个页面中获取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');

但我得到了同样的错误。

我该如何解决这个问题? 非常感谢!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

数据仅适用于getScript调用的回调函数。 如果要在外部使用它,请将其存储在全局变量中并使用它。