首页 新闻 会员 周边

Echarts与json交互展示问题

0
[待解决问题]

页面报请求数据失败

页面代码如下:

复制代码
<!DOCTYPE html>
<html>
<head>
<meta  charset="utf-8" http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<title>demo</title>
<link rel="stylesheet" href="${BP}/resources/ued-new/css/rdc.min.css">
<link rel="stylesheet" href="${BP}/resources/ued-new/css/style.css">
<script src="${BP}/resources/ued-new/plugins/jquery-1.10.2.min.js"></script>
<script src="${BP}/resources/js/plugins/echarts-3/echarts.min.js"></script>
</head>
<body>
    <div class="ued-crumbs ued-crumbs-line">
        <span class="ued-crumbs-title"><i class="ued-ico ued-ico-home"></i><b>您当前所在位置:</b></span>
        <a href="javascript:void(0)">echarts</a>
    </div>
    <br><br><br><br>
        <div class="title ">
            <h1>echarts</h1>
        </div>    
        <div class="rcont-mould">
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="width: 100%;height:500px;"></div>    
        </div>

</body>

<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
// 显示标题,图例和空的坐标轴
option = {
    title: {
        text: '异步数据加载示例'
    },
    tooltip: {},
    legend: {
        data:['销量']
    },
    xAxis: {
        data: []
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'bar',
        data: []
    }]
};
myChart.showLoading();//loading动画
var names=[];//类别数组(实际用来盛放X轴坐标值)
var nums=[];//销量数组(实际用来盛放Y坐标值)

$.ajax({
    type : "post",
    async : true,
    url : "${pageContext.request.contextPath}/demo/echartsShow",
    data : {},
    dataType : "json",
    success : function(result) {
        // 请求成功时执行该函数内容,result即为服务器返回的json对象
        if (result) {
               for(var i=0;i<result.length;i++){       
                  names.push(result[i].name);    //挨个取出类别并填入类别数组
                }
               for(var i=0;i<result.length;i++){       
                   nums.push(result[i].shuju);    //挨个取出销量并填入销量数组
                 }
               myChart.hideLoading();    //隐藏加载动画
               myChart.setOption({        //加载数据图表
                   xAxis: {
                       data: names
                   },
                   series: [{
                       // 根据名字对应到相应的系列
                       name: '销量',
                       type : 'bar',
                       data: nums
                   }]
               });
               
        }
    
   },
    error : function(errorMsg) {
        //请求失败时执行该函数
    alert("请求数据失败!");
    myChart.hideLoading();
    }
});

</script>

</html>
复制代码

 

后台数据:

哪地方有问题呢?

不怎么用echarts,求大神解答啊

奈文_摩尔的主页 奈文_摩尔 | 菜鸟二级 | 园豆:204
提问于:2017-09-05 16:02
< >
分享
所有回答(3)
0

浏览器中跟踪下,看具体的请求和返回结果的格式是echatrs要求的吗?

chrome浏览器就有跟踪的窗口

2012 | 园豆:21230 (高人七级) | 2017-09-06 08:46
0

前台servlet接受的数据要是List的数据类型。然后里面存的是一个数据对应一个值,比如张三:175cm,李四180cm;然后在ajax里用for循环将值取出然后加到定义的数组里,就可以了

bigworlddong | 园豆:202 (菜鸟二级) | 2017-09-06 15:36
0

数据请求失败跟echarts没关系,是你请求有问题吧

大兄弟竹子 | 园豆:55 (初学一级) | 2017-09-07 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册