将PHP添加到外部JAVASCRIPT文件
adding PHP to an external JAVASCRIPT file
我有一个网站模板,它使用外部javascript文件来绘制数据到图形上。我要做的是把演示内容换成php变量。
原始图形数据
var data = [{
label: "Facebook",
data: [[1, 2], [2, 37], [3, 12], [4, 72], [5, 24], [6, 113], [7, 27]]
},
{
label: "Google+",
data: [[1, 3], [2, 45], [3, 16], [4, 48], [5, 12], [6, 125], [7, 26]]
}];
我的尝试 var data = [{
label: "Facebook",
data: [[<?php echo '$daysago7'; ?>, 2], [<?php echo '$daysago6'; ?>, 37], [<?php echo '$daysago5'; ?>, 12], [<?php echo '$daysago4'; ?>, 72], [<?php echo '$daysago3'; ?>, 24], [<?php echo '$daysago2'; ?>, 113], [<?php echo '$daysago1'; ?>, 27]]
},
{
label: "Google+",
data: [[<?php echo '$daysago7'; ?>, 3], [<?php echo '$daysago6'; ?>, 45], [<?php echo '$daysago5'; ?>, 16], [<?php echo '$daysago4'; ?>, 48], [<?php echo '$daysago3'; ?>, 12], [<?php echo '$daysago2'; ?>, 125], [<?php echo '$daysago1'; ?>, 26]]
}]
当我包含我的版本,我没有得到任何图形。
我以前是这样做的:
PHP(控制器)$dataPlot = [
'label' => 'Facebook',
'data' => [...]
];
View (PHP, Twig,不知道)
<div data-plot="<?php echo json_encode($dataPlot) ?>"></div>
JS(使用jQuery)
$(function() {
$('[data-plot]').each(function(i) {
var div = $(this);
var data = div.data('plot');
div.someJQueryChartPlugin(data);
});
});
CSS [data-plot] {
...
}
这样你就不需要用PHP生成一个JS(并发送正确的头以使浏览器理解它是什么),并且可以很容易地添加许多图表。
例如,您可以用下面的代码创建一个文件javascript.php:
<?php header("Content-type: text/javascript");?>
var data = [{
}, { label: "Google+", data: [[ < ?php echo '$daysago7'; ? >, 3], [ < ?php echo '$daysago6'; ? >, 45], [ < ?php echo '$daysago5'; ? >, 16], [ < ?php echo '$daysago4'; ? >, 48], [ < ?php echo '$daysago3'; ? >, 12], [ < ?php echo '$daysago2'; ? >, 125], [ < ?php echo '$daysago1'; ? >, 26]]}]
如果你在。js文件中编写php,它将不起作用。但是你可以做
<script language="JavaScript" type="text/javascript" src="/some_file.php"></script>
只需从您的代码中删除撇号。
不是<?php echo '$daysago7';?>
使用这个
<?php echo $daysago7;?>
Apostrophes将$
符号解释为正常符号,而不是php变量。
如果你使用php文件的javascript作为另一个答案建议,只需添加这个头在最顶部(任何空白之前)的文件:
<?php header("Content-type: text/javascript");?>
帮助客户端确定其MIME类型
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件