我正在使用一个地图插件来呈现一些数据。这些数据来自数据库,并以json文件的形式出现——脚本效果很好。我决定直接使用php输出的数据而不是生成json文件。但由于某种原因,JavaScript无法接受直接的php输入。我正在使用codeigniter MVC。
以下是目前有效的示例代码:
$.getJSON('_data/index/data.json', function(data){ ...
这是我尝试过的:
var dataMap = '<? print $mapData;?>';
$.getJSON(dataMap, function(data){...
* 编辑 2 *
根据答案 - 这个选项也不起作用。
var dataMap = '<?php echo $mapData;?>';
$.get(dataMap, function(data){...
这里是JSON数据
{"countries":{"AL":"1","GB":"1","RS":"1","BG":"6","CA":"3","AT":"2","CD":"1"}}
编辑
$mapData 是
FOREACH LOOP
$retdata['countries'][] = strtoupper($row->code);
$retdata['num'][] = $row->num;
ENDFOREACH LOOP
$retdata['countries'] = array_combine($retdat['code'], $retdata['num']);
$retdata = json_encode($retdata);
然后将其像平常一样输出到文件中。这是进入模型的过程,然后我将其传递给控制器再传递给视图。在我的文件中,$dataMap
中的字符串和发送到视图中的字符串是相同的。
var dataMap = '<? echo $mapData;?>';
- peacemaker$mapData
是什么吗?$.getJSON
是一个到服务器的 ajax 请求的快捷方式。也就是说,它应该是返回 JSON 数据的路径/URL。 - peacemakervar dataMap = <?php echo json_encode($mapData) ?>;
- ramabarca