如何在JavaScript中使用db / php中的JSON

前端之家收集整理的这篇文章主要介绍了如何在JavaScript中使用db / php中的JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用地图插件来呈现一些数据.数据来自DB和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中的文件相同,并且正在发送到该视图.

解决方法

如果您只是将JSON数据直接插入JavaScript变量(而不是使用AJAX),那么您根本不需要一个getJSON调用.直接像这样写对象.
var js_object = <?PHP echo $mapData; ?>;
alert(js_object.countries.AL);
alert(js_object.countries.GB);

请注意,PHP字符串不会回显到封闭引号中,这意味着您直接创建了一个JavaScript对象字面值,而不是一个需要通过JSON.parse()解析为对象的字符串,

猜你在找的JavaScript相关文章