Jquery (Ajax) を使用してサーバーに投稿し、HTML データを受信してページに表示するアプリがあります。それ自体は非常に単純な JQuery 呼び出しです。
function LoadStats(isUpdate) {
$.ajax({
cache: false,
url: url,
data: {
{someData, removed for SF}
},
success: function (data) {
$("#statsBox").html(data);
}
});
}
私がやろうとしているのは、このボックスに表示する簡単な Google チャートを取得することです。これを行うと、javascriptが正しく表示されないようです。MVC ビューで次のような Google チャートの基本的な例を使用しています。
<div>HTML Here. Hello</div>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales'],
['2004', 1000 ],
['2005', 1170 ],
['2006', 660 ],
['2007', 1030 ]
]);
var options = {
title: 'Company Performance',
vAxis: {title: 'Year', titleTextStyle: {color: 'red'}}
};
var chart = new google.visualization.BarChart(document.getElementById('statsBox'));
chart.draw(data, options);
}
</script>
私の最初の試みには、ビュー自体に google.com/jsapi スクリプトへの参照を配置することが含まれていたため、Google が定義されていないというエラーが発生しました。そのため、ページのヘッダーに API への参照を配置しました。これにより、エラーは解消されましたが、読み込まれると画面が空白になります。エラーはなく、白い空白のページです。
グラフを実際に機能させたら、サーバーからのデータを入力することに注意してください。そのため、ページ自体には入れません。ここで何が欠けていますか?jqueryポストを使用してデータをロードしているので、これを表示するために設定する必要がある他の設定が必要です。