使用jQuery将JSON对象发送到新页面

时间:2012-06-13 13:52:57

标签: jquery ajax json post get

当用户点击我放置在我页面上的Google地图上的标记时,我正在尝试将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);
                        }
                    });
                });
            });
      });
});

2 个答案:

答案 0 :(得分:3)

我想到的第一件事就是将JSON对象保存在cookie中,并在跳转后在下一页上检索它。

jquery save json data object in cookie

答案 1 :(得分:2)

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