2016-04-01 37 views
0

我有一個端點定義爲這樣對我的服務器端:在加載頁面發送從服務器數據到客戶端的NodeJS

app.get('/', function(req, res) { 
    res.send(densityList); 
}); 

當我打http://localhost:port/,如果我不是不正確,這是一個的命中在端點服務器。

點擊主頁後,我希望向客戶端發送全局定義的密度列表(已填充),供客戶端用來填充地圖。

這是我的客戶端代碼:

<script>   

    $(document).ready(function() { 

     $.get('/', {}, function(data){ 

      L.map.accessToken = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw' 

      console.log("before creating map"); 
      console.log(data); 

      var mymap = L.map('mapid').setView([37.8, -96], 4); 

      console.log("creating map") 
      L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw', { 
       maxZoom: 18, 
       attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + 
        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 
        'Imagery © <a href="http://mapbox.com">Mapbox</a>', 
       id: 'mapbox.streets' 
      }).addTo(mymap); 

      var heat = L.heatLayer(data, {radius: 25}).addTo(mymap); 
     }); 
    }); 
    </script> 

我認爲,這行代碼應該捕獲任何服務器發送:

$.get('/', {}, function(data){ 

然而,當我這樣做:

console.log(data) 

打印整個html文件。有人可以建議如何在首頁點擊時發送這些數據嗎?

回答

0

我想你應該從$.get() syntax刪除{}應該是這樣,因爲這:

$.get("/", function(data, status){ 
L.map.accessToken = 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw' 

      console.log("before creating map"); 
      console.log(data); 

      var mymap = L.map('mapid').setView([37.8, -96], 4); 

      console.log("creating map") 
      L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw', { 
       maxZoom: 18, 
       attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, ' + 
        '<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' + 
        'Imagery © <a href="http://mapbox.com">Mapbox</a>', 
       id: 'mapbox.streets' 
      }).addTo(mymap); 

      var heat = L.heatLayer(data, {radius: 25}).addTo(mymap); 
      console.log("Data: " + data + "\nStatus: " + status); 
     }); 

希望它能幫助:)

+0

卡沙普,不幸的是沒有這樣做。我仍然碰巧打印我的html文件作爲數據。 :/ – newenthusiast

相關問題