2016-05-31 18 views
1

HIは私のコードです:AJAXとC3グラフデータをロードすることができません

$.ajax({ 
    [...] 
    success: function(data) { 
     chart.load({ 
      columns: data, 
      unload: chart.columns, 
     }); 
    } 
}); 

Ajaxの応答は次のとおりです。

[['Friday', 1],['Friday', 3],['Sunday', 1],['Saturday', 2],['Friday', 3],['Friday', 3],['Friday', 5],['Friday', 3],['Monday', 1],['Friday', 1],['Tuesday', 1]] 

成功するとグラフに何も見られませんでした。でも、私は "アンロード"のコメントをしました でも同じです。静的に置くと関数は正常に動作します。助けてください

+0

これは現在動作していますか? –

答えて

0

あなたはそれを間違って使用しています。 chart関数をエクスポートしていませんが、c3関数をエクスポートしています。以下は、(あまりにも良く見えませんが、あなたが期待していることはわかりません)チャートを生成します。

また、出力divを定義していないので、#chartを追加しました。 chart.load関数の引数のデータ:

var data = [['Friday', 1],['Friday', 3],['Sunday', 1],['Saturday', 2],['Friday', 3],['Friday', 3],['Friday', 5],['Friday', 3],['Monday', 1],['Friday', 1],['Tuesday', 1]]; 
 

 
var data2 = [['Friday', 3],['Friday', 10],['Sunday', 50],['Saturday', 20],['Friday', 15],['Friday', 10],['Friday', 6],['Friday', 8],['Monday', 5],['Friday', 20],['Tuesday', 13]]; 
 

 
var chart = c3.generate({ 
 
    bindto: '#chart', 
 
    data: { 
 
     columns: data 
 
    } 
 
}); 
 

 
setTimeout(function() { 
 
    chart.load({ 
 
     columns: data2 
 
    }); 
 
}, 2000)
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script> 
 

 
<div id="chart"></div>

+0

私はその作品を知っていますが、AJAXを使って更新しようとしました – codeBloger

+0

遅延アップデートを追加してアップデート方法を示しました。これで十分ですか? –

0

あなたは、列の周りのブラケットを試してみましたか?ここに私のアプリケーションで動作するコードがあります

$(document).on("click", "#btnPDquant", function(event) { 
$.ajax({ 
url: "PDQuantCalc", 
type: "post", 
data: $('#formPDquant').serialize(), 
success: function(response){ 
    var newdat = JSON.parse(response); 
    chart.x(newdat.year); 
     chart.load({ 
      columns: [ newdat.PDquant ] 
    }); 
} 
event.preventDefault(); // Important! Prevents submitting the form. 
}); 
関連する問題