2012-05-29 44 views
1

我想在另一個頁面的JavaScript數據,並在現有的JavaScript中使用它。getScript加入或AJAX

讓我的代碼解釋。

我想從其他頁面獲取此數據

<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');

但我得到了同樣的錯誤。

我該如何解決這個問題? 非常感謝!

回答

1

當你加載JavaScript與$.getScript(),你不應該包含你正在加載的文件中<script>標籤。此外,您還需要運行initialize()功能你完成加載文件:

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

能否請您詳細闡述,我沒有真正理解你在這裏說的話。 – Efe

+0

(編輯答案,看看是否有幫助) – lanzz

+0

現在我會努力的! – Efe

0

數據僅可用於回調的getScript加入通話功能。 如果您想在外部使用它,請將其存儲在全局變量中並使用它。

+0

它不是在其他頁面犯規這意味着它是在這種情況下,一個全局變量的一個函數裏?如果不是,我需要做什麼? – Efe

相關問題