Javascript 添加谷歌图表可以清除我的HTML
我想使用ajax添加多个PartialView,但是在'google.load(…')整个页面变为空白后,它会清除我的所有HTML 我读到api做了一个“document.write(…”,这就是问题所在,但我不知道如何解决它 有什么想法吗 这是我的代码: View1.cshtml View2.cshtmlJavascript 添加谷歌图表可以清除我的HTML,javascript,jquery,ajax,asp.net-mvc-4,google-visualization,Javascript,Jquery,Ajax,Asp.net Mvc 4,Google Visualization,我想使用ajax添加多个PartialView,但是在'google.load(…')整个页面变为空白后,它会清除我的所有HTML 我读到api做了一个“document.write(…”,这就是问题所在,但我不知道如何解决它 有什么想法吗 这是我的代码: View1.cshtml View2.cshtml (功能(){ //加载可视化API和piechart包。 load('visualization','1.0',{'packages':['corechart']}); //将回调设置为在
(功能(){
//加载可视化API和piechart包。
load('visualization','1.0',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
setOnLoadCallback(drawChart);
//创建和填充数据表、实例化饼图、传入数据并绘制数据的回调。
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[‘一’、‘二’、‘三’],
[/10/09/2013',
0,
15
],
['18/09/2013',
0,
15
]
]);
//实例化并绘制图表,传入一些选项。
var chart=new google.visualization.LineChart(document.getElementById('chart_div_81'));
图表绘制(数据、选项);
}
})();
最安全的做法是在主页上加载API,而不是在面板中加载。我在主页上加载js(视图1)你在主页上加载jsapi(谷歌加载器),而不是可视化API。这一行google.load('Visualization','1.0',{'packages':['corechart']});
加载可视化API。将其放在主页上。
<html>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
...
<div id="container"></div>
<button id="next"> next</button>
...
</html>
$('#next').click(function () {
$.ajax({
url: myUrl/view2,
data: { Id: 5},
dataType: 'html',
success: function (result) {
//debugger;
$(result).appendTo(container);
},
beforeSend: function () {
},
complete: function () {
},
error: function (message, codError) {
console.log(message, codError);
},
async: true
});
});
<div id="chart_div_81"></div>
<script type="text/javascript">
(function () {
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', { 'packages': ['corechart'] });
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
// Callback that creates and populates a data table, instantiates the pie chart, passes in the data and draws it.
function drawChart() {
var data = google.visualization.arrayToDataTable([
['One', 'Two', 'Three'],
[/10/09/2013',
0,
15
],
['18/09/2013',
0,
15
]
]);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.LineChart(document.getElementById('chart_div_81'));
chart.draw(data, options);
}
})();
</script>