无法找到文件,图表不会出现

时间:2014-12-02 08:30:12

标签: javascript php morris.js

我有这段代码:

<script>
var area = new Morris.Area({
    element: 'revenue-chart',
    resize: true,
    data: [
        {y: '2011 Q1', item1: 2666, item2: 2666},
        {y: '2011 Q2', item1: 2778, item2: 2294},
        {y: '2011 Q3', item1: 4912, item2: 1969},
        {y: '2011 Q4', item1: 3767, item2: 3597},
        {y: '2012 Q1', item1: 6810, item2: 1914},
        {y: '2012 Q2', item1: 5670, item2: 4293},
        {y: '2012 Q3', item1: 4820, item2: 3795},
        {y: '2012 Q4', item1: 15073, item2: 5967},
        {y: '2013 Q1', item1: 10687, item2: 4460},
        {y: '2013 Q2', item1: <?php echo file_get_contents("../adminpanel/pagecounters/totalviewsDecember.txt")?>, item2: 5713}
    ],
    xkey: 'y',
    ykeys: ['item1', 'item2'],
    labels: ['Item 1', 'Item 2'],
    lineColors: ['#a0d0e0', '#3c8dbc'],
    hideHover: 'auto'
});
</script>

但刷新页面时图表不会出现。 (还有文件EXISTS!我测试了它。)

我该如何解决?

1 个答案:

答案 0 :(得分:1)

你的js代码是正确的,这里有一个替换为php的任意数字:

http://jsbin.com/muzucozivu/1/edit?html,js,output

因此,只有几个可能的问题:

  • 您没有包含所有正确的图书馆
  • 由于某种原因,php失败了,之后页面被截断了
  • 元素&#39;收入图表&#39;在您的页面中不存在或不可见。

要确保拥有所有库,请从我的jsbin代码中复制它们(从我在MorrisJS页面上找到的jsbin代码克隆)。

要检查第二种可能性,请打开页面源并查看页面的其余部分是否不存在,或者PHP是否返回了一些虚假值(如果file_get_contents失败,则返回FALSE)。

最后一个应该只对您的代码进行目视检查或在Firefox中打开FireBug并查找正确的元素。确保拼写正确。 您还可以在控制台中检查其他JS错误。

但即使该文件存在,PHP仍可能失败。使用PHP file_get_contents的常见问题来源是误解了&#34;工作目录&#34;实际上,因此任何相对路径最终被拧紧。 使用绝对文件路径来测试它。