2017-06-15 87 views
0

我正在尝试构建一个简单的基于Ajax的饼图,但我感觉还是错误的结局。即使我试图在这个社区中被别人吸引也没有成功。即使ajax返回正确的输入,jqPlot也不会显示ajax数据

我的代码:

  $(document).ready(function(){ 

       var ajaxDataRenderer = function(url, plot) { 
        var ret = null; 
        console.log(url); 
        console.log(plot); 
        $.ajax({ 
         async: false, 
         url: url, 
         dataType:'json', 
         success: function(data) { 
          ret = data; 
          console.log(data); 
          console.warn(data); 
          console.log(ret); 
         } 
        }); 
        return ret; 
       }; 

       var jsonurl = "sub/auditLogStatusesForGraph_json.dsp"; 

       plo12 = $.jqplot('chartdiv', jsonurl,{ 
        title: 'AJAX JSON Data Renderer', 
        dataRenderer: ajaxDataRenderer, 
        seriesDefaults: { 
         renderer: $.jqplot.PieRenderer, 
         rendererOptions: { 
          showDataLabels: true 
         } 
        }, 
        legend: { show: true, location: 'e' } 

       }); 

      }); 

的jsonurl返回

[[['INFO',21451],['ALERT',13201],['ERROR',89],['SYSTEM',30],['0',1]]] 

但仍然得到错误:

Error: No data specified jquery.jqplot.min.js:4:14135

正如你可以看到我已经试着调试管道到控制台,但看起来“成功”部分根本不适用。即使我试图改变它“完成”。

任何想法我在那里有错?

非常感谢您提前。

回答

0

把下面的代码中你success: function(data)

plo12 = $.jqplot('chartdiv', jsonurl,{ 
        title: 'AJAX JSON Data Renderer', 
        dataRenderer: ajaxDataRenderer, 
        seriesDefaults: { 
         renderer: $.jqplot.PieRenderer, 
         rendererOptions: { 
          showDataLabels: true 
         } 
        }, 
        legend: { show: true, location: 'e' } 

       });