私は morris.js ドーナツ チャートを介してデータを表示することに取り組んでいます。これらのデータは、PHP と ajax を介して MySQL データベースから取得されます。
コードに表示するデータを入力する典型的な例は正常に機能しています
Morris.Donut({
element: 'donut-example',
data: [
{ label: "Download Sales", value: 12 },
{ label: "In-Store Sales", value: 30 },
{ label: "Mail-Order Sales", value: 20 }]
});
ただし、データベースからデータを呼び出すと、グラフが表示されません。さらに、firebug はエラーを表示しません。
これは私がPHPから得た出力です:
[{label: "4 pairs",value: "9"},{label: "3 pairs",value: "9"},{label: "2 pairs",value: "6"},{label: "5 pairs",value: "3"},{label: "6 pairs",value: "2"},{label: "1 pair",value: "2"}]
実際、Morris.Donut(); 内にコピーして、この出力を試しました。機能し、うまくいきました!
そして、これは Ajax コードです (まったく機能しません)。
$.ajax({
url: "ajax/modas_pares.php",
type: "post",
data: {lotto: 'the_lotto', limit: 20},
success : function (resp){
//alert(resp);
Morris.Donut({
element: 'donut-example',
data: resp
});
},
error: function(jqXHR, textStatus, ex) {
console.log(textStatus + "," + ex + "," + jqXHR.responseText);
}
});
ただし、次のコードがある場合:
$.ajax({
url: "ajax/modas_pares.php",
cache: false,
type: "post",
data: {lotto: 'the_lotto', limit: 20},
//dataType: "json",
timeout:3000,
success : function (resp){
//var column_data = $.parseJSON(resp);
//alert(resp);
Morris.Donut({
element: 'donut-example',
data: [{label: "3 pairs",value: "6"},{label: "4 pairs",value: "5"},{label: "2 pairs",value: "5"},{label: "5 pairs",value: "3"},{label: "1 pair",value: "1"},{label: "6 pairs",value: "1"}]
});
},
error: function(jqXHR, textStatus, ex) {
console.log(textStatus + "," + ex + "," + jqXHR.responseText);
}
});
それはうまくいきます!!!
私が得られないのは、変数を介してコードを渡そうとした場合、それが機能しないということです!! :
$string='[{label: "4 pairs",value: "9"},{label: "3 pairs",value: "9"},{label: "2 pairs",value: "6"},{label: "5 pairs",value: "3"},{label: "6 pairs",value: "2"},{label: "1 pair",value: "2"}]';
?>
と
$.ajax({
url: "ajax/modas_pares.php",
cache: false,
type: "post",
data: {lotto: 'the_lotto', limit: 20},
//dataType: "json",
timeout:3000,
success : function (resp){
//var column_data = $.parseJSON(resp);
//alert(resp);
Morris.Donut({
element: 'donut-example',
data: '<?php echo $string ?>'
});
},
error: function(jqXHR, textStatus, ex) {
console.log(textStatus + "," + ex + "," + jqXHR.responseText);
}
});
動作しません:(php変数またはajaxを介したphpスクリプトから取得した場合:/
私は何が欠けていますか?どうすればこれを修正できますか? どうして?????