2012-06-21 60 views
2

我想繪製一些JSON在jqMobile支持的HTML 5應用程序中使用jqPlot庫的數據。我將下面的代碼放在html頁面的「body」中。有什麼我在這裏失蹤?使用jqPlot繪製JSON數據

<script>  
$(document).ready(function() { 
    // get the JSON data from server 
    $.getJSON("myspecialurl", function(data) { 
     success: function(data) { 
      plotData(data); 
     } 
    }); 
    // plot the data 
    function plotData(data) { 
     ds = []; 
     $(data).find('latitude').each(function() { 
      ds.push([$(this).attr('answer'), parseInt($(this).attr('count'))]); 
     }); 
     $.jqplot('chart1', [ds], { 
      seriesDefaults: { 
       renderer: $.jqplot.DonutRenderer 
      }, 
      legend: { 
       show: true 
      } 
     }); 
    } 
}  
</script> 

編輯:新圖解法

function plotData(data) { 
// ds = []; 
// $(data).find('latitude').each(function() { 
// ds.push([ $(this).attr('answer'), parseInt($(this).attr('count')) ]); 
// }); 
var array = data.contacts; 


$.jqplot('chart1', array[0].latitude, { 
seriesDefaults:{ 
    renderer:$.jqplot.DonutRenderer 
}, 
legend: {show:true} 
}); 
} 
+0

第一眼看起來沒問題。在運營之前,JSON看起來如何?你輸入'plotData()'? – Boro

+0

控制檯拋出此錯誤未捕獲SyntaxError:意外的令牌( – Apollo

+0

我也收到有關數據的此錯誤異常:ReferenceError:data is not defined] – Apollo

回答

1

粗有問題,電腦再次右鍵。這就是你的代碼的樣子。您正在定義成功,就好像您使用的是ajax方法,getJSON成功作爲第二個參數傳遞。

$.getJSON("myspecialurl", function(data) { 
    plotData(data); 
}); 

編輯 我當場還你沒有適當地關閉ready功能。它應該是});而不僅僅是}

+0

ahhh,ok yup清除了那個錯誤,但是控制檯現在拋出這個錯誤Uncaught沒有指定打印目標但是我指定了一個繪圖... – Apollo

+0

在哪一行是拋出的引用異常? – Boro

+0

在1881行jquery.jqplot.js文件,這讓我覺得這段代碼很好,除了我無法訪問我的數據。當我嘗試訪問某個數據段時,它被保存在一個索引中,如0,1,2,3。當我嘗試執行data.contacts.0.name時,它不喜歡數字0,即使我需要訪問JSON數據位。有沒有解決的辦法? – Apollo