1

当用户单击我在页面上的谷歌地图上放置的标记时,我正在尝试将 JSON 数据(人口统计数据)发送到新页面(在同一目录中)。我现在正在使用 jquery-ui-map 插件,标记和单击事件工作正常,但正如您在代码中看到的那样,我正在尝试将 JSON 对象传输到下一页(demo-data.html) . 我尝试使用 $.ajax 但遇到了 CORS 问题。

所以我的问题是,如何将该 JSON 数组发送到下一页,然后在加载下一页 (demo-data.html) 时检索它,以便将文本放置到适当的位置?

PS - 我无法使用服务器端脚本

谢谢!

$(document).bind('pageshow', function () {
  var mapdata = { destination: new google.maps.LatLng(59.3327881, 18.064488100000062) };
  var demographics =
  {
    city: 'Stockholm',
    county: '',
    state: 'Germany',
    lat: 59.3327881,
    long: 18.064488100000062,
    type: 'Standard',
    population: 1000000,
    housing: 800000,
    income: 50000,
    landarea: 1000000,
    waterarea:10000,
    decomissioned: 'No',
    militarycodes: ''
  };

  $('h1').text('Stockholm, Germany');

  $('#map_canvas').gmap(
    {
        'center' : mapdata.destination,
        'zoom' : 12
    })
    .bind('init', function(evt, map) {
        $('#map_canvas').gmap('addMarker',
            {
                'position' : map.getCenter(),
                'animation' : google.maps.Animation.DROP
            }, function(map, marker) {
                $(marker).click(function() {

                    $.ajax({
                        url: 'demo-data.html',
                        type: 'POST',
                        data: JSON.stringify(demographics),
                        contentType: 'application/json; charset=utf-8',
                        dataType: 'json',
                        async: false,
                        success: function(msg) {
                            alert(msg);
                        }
                    });
                });
            });
      });
});
4

2 回答 2

3

我首先想到的是将 JSON 对象保存在 cookie 中,并在跳转后在下一页检索它。

jquery在cookie中保存json数据对象

于 2012-06-13T13:57:32.413 回答
2

我会通过URL 参数传递所有内容。

于 2012-06-13T13:58:04.727 回答