如何在javascript/jquery中调用php值?

如何在javascript/jquery中调用php值?,php,javascript,jquery,ajax,codeigniter,Php,Javascript,Jquery,Ajax,Codeigniter,我正在使用php codeigniter mvc框架。我的控制器由以下代码组成 $data2['rows2']=$this->data_model->getYear(); $this->load->view('new',$data2); <script> $(document).ready(function() { var namesArr = **<?php echo var_dump(json_decode($rows2));?>;**

我正在使用php codeigniter mvc框架。我的控制器由以下代码组成

$data2['rows2']=$this->data_model->getYear();
$this->load->view('new',$data2);
<script>
$(document).ready(function() {
 var namesArr = **<?php echo var_dump(json_decode($rows2));?>;**

 var progressTrendsData = [[1304294461000,69,1304899261000,28],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32]];
 var chart;
 var options = {
     chart: {
         renderTo: 'trendsDiv',
         type: 'spline'
     },
     series: [{
     name: '',
     data: []
     }]
 };

 for(var i=0;i<namesArr.length;i++) {
    options.series.push({
            name: namesArr[i],
            data: progressTrendsData[i]
    });
 }

 chart = new Highcharts.Chart(options); 
 });
</script>
我的视图(在head部分)有以下代码

$data2['rows2']=$this->data_model->getYear();
$this->load->view('new',$data2);
<script>
$(document).ready(function() {
 var namesArr = **<?php echo var_dump(json_decode($rows2));?>;**

 var progressTrendsData = [[1304294461000,69,1304899261000,28],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32]];
 var chart;
 var options = {
     chart: {
         renderTo: 'trendsDiv',
         type: 'spline'
     },
     series: [{
     name: '',
     data: []
     }]
 };

 for(var i=0;i<namesArr.length;i++) {
    options.series.push({
            name: namesArr[i],
            data: progressTrendsData[i]
    });
 }

 chart = new Highcharts.Chart(options); 
 });
</script>
在你的控制器里做什么

$data2['rows2']=$this->data_model->getYear();
$data2['rowsArray']=json_decode($data2['rows2']);
然后在视图中尝试

var namesArr = ['<?php echo implode("', '", $rowsArray); ?>']

var namesArr=[”您可以在JS中调用php值,只需将php代码插入javascript即可。尝试执行以下操作:

var namesArr = new Array();
namesArr = <? print_r($rows2); ?>
var namesArr=new Array();
namesArr=
确保$rows2返回一个数组。

可以尝试(如果您使用jQuery):

他认为:

<script>
$(document).ready(function() {
 var namesArr =  jQuery.parseJSON('<?php echo $rows2;?>');

 var progressTrendsData = [[1304294461000,69,1304899261000,28],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32],[1304294431000,3,1304899161000,32]];
 var chart;
 var options = {
     chart: {
         renderTo: 'trendsDiv',
         type: 'spline'
     },
     series: [{
     name: '',
     data: []
     }]
 };

 for(var i=0;i<namesArr.length;i++) {
    options.series.push({
            name: namesArr[i],
            data: progressTrendsData[i]
    });
 }

 chart = new Highcharts.Chart(options); 
 });
</script>

并检查javascript控制台(应在Chrome和Firefox中工作).

我尝试了您提到的方法,但未能获得输出。我更新了我的代码。您使用Farhad的错误代码更新了您的代码。我建议的代码的确切输出是什么?您收到了什么错误?我尝试了您的示例,可能部分成功。当我尝试使用
var namesArr=['通过尝试
var namesArr=['开头和结尾的
'
撇号在方括号内,请验证代码中是否存在这些撇号。这有许多语法错误…您不能只键入
,就期望发生任何正确的事情。
var namesArr =  eval('('+<?php echo $rows2;?>+')');
console.log(namesArr);