Javascript 更新关于AJAX成功的图表

Javascript 更新关于AJAX成功的图表,javascript,ajax,charts,Javascript,Ajax,Charts,我使用谷歌图表和一些来自查询的动态信息创建了一个饼图,如下所示: <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable

我使用谷歌图表和一些来自查询的动态信息创建了一个饼图,如下所示:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Customers', 'Status'],
      ['Accepted',     <?php echo $rowsaccepted ;?>],
      ['Declined',      <?php echo $rowsdeclined;?>],
      ['Not Reviewed',  <?php echo $rowsnreview;?>]
    ]);

    var options = {
                   'width':200,
                   'height':200,
                   'backgroundColor':'#474747',
                   'legend': 'none',
                   'chartArea':{left:20,top:0,width:250,height:250},
                   colors: ['#ef8200', '#007fc2', '#41cf0f'],
                   fontSize:14,

               };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
</script>
<script type="text/javascript">
$(function() {
$(".accept").click(function(){
var element = $(this);
var del_id = element.attr("id");
var order_id = element.attr("data-order");
 $.ajax({
   type: "POST",
   url: "accept.php",
   //data: info,
   data: {id:del_id,order_id:order_id}
});
});
</script>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[‘客户’、‘状态’],
[‘接受’,],
[‘谢绝’,],
[‘未审查’,]
]);
变量选项={
“宽度”:200,
‘高度’:200,
“背景色”:“474747”,
“图例”:“无”,
'chartArea':{左:20,上:0,宽:250,高:250},
颜色:['ef8200'、'007fc2'、'41cf0f'],
尺寸:14,
};
var chart=new google.visualization.PieChart(document.getElementById('PieChart');
图表绘制(数据、选项);
}
正如你所看到的,我回显了三个变量来填充图表。这三个变量在另一个include中定义,其中相关查询存在,并且我希望在更新变量时更新图表,这是通过AJAX调用完成的,如下所示:

<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Customers', 'Status'],
      ['Accepted',     <?php echo $rowsaccepted ;?>],
      ['Declined',      <?php echo $rowsdeclined;?>],
      ['Not Reviewed',  <?php echo $rowsnreview;?>]
    ]);

    var options = {
                   'width':200,
                   'height':200,
                   'backgroundColor':'#474747',
                   'legend': 'none',
                   'chartArea':{left:20,top:0,width:250,height:250},
                   colors: ['#ef8200', '#007fc2', '#41cf0f'],
                   fontSize:14,

               };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
</script>
<script type="text/javascript">
$(function() {
$(".accept").click(function(){
var element = $(this);
var del_id = element.attr("id");
var order_id = element.attr("data-order");
 $.ajax({
   type: "POST",
   url: "accept.php",
   //data: info,
   data: {id:del_id,order_id:order_id}
});
});
</script>

$(函数(){
$(“.accept”)。单击(函数(){
var元素=$(此);
var del_id=element.attr(“id”);
var order_id=element.attr(“数据顺序”);
$.ajax({
类型:“POST”,
url:“accept.php”,
//数据:信息,
数据:{id:del_id,order_id:order_id}
});
});
传递给AJAX调用的两个变量与rowid和查询用于更新表的相关名称相关,表反过来更新填充图表的三个变量


由于我的AJAX调用已经通过按钮执行,有没有办法添加一个函数,在AJAX调用成功后重新绘制图表?

您可以使用
success
回调重新绘制图表,该回调作为
$.AJAX
的一个选项参数提供。因此,直接将图表作为一个函数,并在成功后执行它我的AJA呼叫的ss?是的,这是一种方法。:)我建议验证响应,以便处理错误或错误数据,但是的。