[英]How do I pass variables from PHP to an external JS file?
我正在尝试将2个变量(其中包含图表数据)传递给外部JS文件(其中包含图表设置)。
在PHP中,我有:
<script type='text/javascript'>
var final_values = '$final_values';
var final_names = '$final_names';
</script>
以及外部JS的一部分:
var rawData = "["+final_values+"]";
var ticks = "["+final_names+"]";
var plot = $.plot('#placeholder', [
{ data: rawData ,color: 'rgb(50,179,234)'}
], {
series: {
bars: {
show: true, align: 'center', barWidth:0.7
}
},
bars: {
align: 'center',
barWidth: 0.3,
horizontal: true,
fillColor: { colors: [{ opacity: 0.4 }, { opacity: 1}] },
lineWidth: 1
},
grid: {
backgroundColor: 'transparent',
hoverable: true,
clickable: true
},
xaxis: {
autoscaleMargin: 0.1,
tickColor: '#5E5E5E',
color:'black',
ticks: 5
},
yaxis: {
position: 'left',
ticks: ticks,
tickSize: 1,
color:'black'
}
});
无效的示例:
final_values = '[209,0],[570,1],[1359,2],[2692,3]';
final_names = '[0,"TheDude"],[1,"nikodemus"],[2,"adrianp55"],[3,"Richard Nasta"]';
如果我将所有JS设置放入页面中,则可以使用,但是我想将所有设置放入外部文件中。
json_encode。
var final_values = <?php json_encode($final_values);?>;
var final_names = <?php json_encode($final_names);?>;
警告,尽管与大多数PHP不同,json_encode不是二进制安全的(请打扰我,这不是JSON afaik的限制),因此请确保在编码的内容中只有utf8安全字符,例如,这不会工作:
json_encode(["foo"=>1,"bar"=>"\x00\xFF"] );
-仅仅因为这里的[“ bar”]无效utf8,整个编码失败了:| 愚蠢的PHP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.