如何在javascript/jquery中调用php值?
我正在使用php codeigniter mvc框架。我的控制器由以下代码组成如何在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));?>;**
$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);