And*_*ndo 10 javascript jquery
我正在使用地图插件来渲染一些数据.数据来自数据库并进入json文件 - 脚本运行良好.我决定直接从php输出中使用数据而不是制作json文件.由于某种原因,javaScript不接受直接的php输入.我正在使用codeigniter MVC
以下是当前有效的示例代码:
$.getJSON('_data/index/data.json', function(data){ ...
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
var dataMap = '<? print $mapData;?>';
$.getJSON(dataMap, function(data){...
Run Code Online (Sandbox Code Playgroud)
*编辑2*
根据答案 - 此选项也不起作用.
var dataMap = '<?php echo $mapData;?>';
$.get(dataMap, function(data){...
Run Code Online (Sandbox Code Playgroud)
这是json数据
{"countries":{"AL":"1","GB":"1","RS":"1","BG":"6","CA":"3","AT":"2","CD":"1"}}
Run Code Online (Sandbox Code Playgroud)
编辑
$ 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);
Run Code Online (Sandbox Code Playgroud)
然后将其打印到正常文件中.这是进入模型,然后我将它传递给控制器,然后进入视图.该字符串与$dataMap我在文件中的字符串和发送到视图的字符串相同.
如果您只是要将 JSON 数据直接插入到 javascript 变量中(而不是使用 AJAX),那么您getJSON根本不需要调用。直接这样写对象就可以了。
var js_object = <?php echo $mapData; ?>;
alert(js_object.countries.AL);
alert(js_object.countries.GB);
Run Code Online (Sandbox Code Playgroud)
请注意,PHP 字符串不会回显到引号中,这意味着您直接创建一个 javascript 对象文字,而不是需要通过以下方式解析为对象的字符串JSON.parse()
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |