2014-12-02 45 views
0

我有這樣的代碼:找不到文件,圖表沒有出現

<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!我測試過了。)

我該如何修復它?

+0

檢查Chrome瀏覽器開發控制檯錯誤,並查看源代碼,看看在源 – Saqueib 2014-12-02 08:34:25

+0

它沒有顯示出錯誤有@Saqueib – martijnmelchers 2014-12-02 08:36:03

+0

是網頁源顯示'的file_get_contents的內容(」 ../ adminpanel/pagecounters/totalviewsDecember。 txt「)'並顯示文件'totalviewsDecember'的內容 – Saqueib 2014-12-02 08:36:48

回答

1

你的js代碼是正確的,在這裏它與取代的PHP任意數量:

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

因此只有少數可能出現的問題:

  • 你不包括所有正確的庫
  • 由於某種原因,php失敗並且頁面被截斷後
  • 元素的rev enue-chart'在您的頁面中不存在或不可見。

就一定要擁有所有的圖書館,從我jsbin代碼複製它們(這是從jsbin代碼我的MorrisJS頁面上找到克隆)。

要檢查第二種可能性,請打開頁面源並查看頁面的其餘部分是否不存在,或者PHP是否返回了一些僞造值(如果file_get_contents失敗,則將返回FALSE)。

最後一個應該只對您的代碼進行視覺檢查,或者在Firefox中打開FireBug並查找正確的元素。確保拼寫正確。 您也可以檢查控制檯中的其他JS錯誤。

但即使文件存在,PHP仍可能失敗。使用PHP file_get_contents時,常見的問題來源是誤解「工作目錄」的實際位置,因此任何相對路徑最終都會被破壞。 使用絕對文件路徑來測試。