我有一个关于在javascript中使用从数据库中提取的数据的问题。
在我的控制器中我有这个:
$this->view->projects = $projectsarray;
我将数组发送到我的视图。在那里,我将遍历我的阵列并显示标题。现在我需要在javascript中获取该数组,因为我想创建一个包含数据的高图...
有谁知道我怎么能这么做?
编辑: 我现在在我的控制器中有这个:( overviewcontroller)
public function getprojectdataAction($id){
}
在我的javascript文件中:
var id = 1;
$.post('/overview/getprojectdata/',{id:id},function(data){
alert("test");
});
但是我收到了无法找到资源的错误:
POST http://www.namesite.com/overview/getprojectdata/ 404(未找到)
我做错了什么?
答案 0 :(得分:2)
我认为$this->view->projects
是数组或对象
<script>
var projects = <?php echo json_encode($this->projects);?>;
console.log(projects);
</script>
然后看着你的萤火虫......
答案 1 :(得分:1)
您可以通过将数组转换为JSON来执行此操作,您可以将ajax请求发送到同一个控制器
并返回echo json_encode($ array);那么你可以通过解码来直接使用响应......
$.post('controller/action',{id:id},function(data){
var arrayJson=JSON.parse(data);
});
你可以使用arrayJson作为数据数组......
答案 2 :(得分:0)
你可以在代码的php部分使用json_encode从你的数组中生成一个javascript对象。例如:
$php = array("myAttrib" => "hallo");
echo json_encode($php);
在javascript中你可以使用
alert (output.myAttrib);
,其中output表示echo json_encode(php)。这段代码会打开一个显示“hallo”的框。您的问题似乎与how to use json_encode非常相似。对于创建高级图表,此帖Highcharts data series issue with ajax/json and PHP可能对您有用。