我正在使用JQVMaps在WordPress网站上创建世界地图。我需要根据用户点击的区域生成页面内容。以下是我迄今为止的概念证明:AJAX动态页面内容与地图区域
<div id="post"></div>
<script>
jQuery('#vmap').vectorMap({
map: 'world_en',
backgroundColor: '#fff',
borderColor: '#bbb',
borderOpacity: 1,
borderWidth: .2,
color: '#bbb',
onRegionOver : function (element, code, region)
{
highlightRegionOfCountry(code);
},
onRegionOut : function (element, code, region)
{
unhighlightRegionOfCountry(code);
},
onRegionClick: function(element, code, region)
{
highlightRegionOfCountry(code);
$.ajax('/get_chart_data.php', {
dataType: 'json',
success: function(response) {
var jspost = "<?php echo $post; ?>";
var el = document.getElementById("post");
el.html = jspost;
}
});
}
});
</script>
这里就是我在get_chart_data.php:
<?php
// Switch based on region
switch($_REQUEST['region']) {
case China:
$post = 'You clicked China';
break;
case Canada:
$post = 'You clicked Canada';
break;
case Brazil:
$post = 'You clicked Brazil';
break;
}
echo json_encode($post);
?>
我越来越没有从地图响应。我对AJAX非常陌生,所以我希望能够通过它获得所有帮助。我可能会错过一个非常关键的部分。
太棒了。我还添加了$ post = new stdClass();在get_chart_data和echo json_encode($ post)的顶部;至底部。不知道这是否有必要。 – 2014-09-02 16:33:21
当你刚刚返回一个单一的字符串时,这不是绝对必要的。但很快你可能会返回更复杂的数据,在这种情况下,你会想要创建一个php对象或关联数组,然后对其进行json_encode,所以很好,你已经这么做了。 – 2014-09-04 19:52:44