页面报请求数据失败
页面代码如下:
<!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,求大神解答啊
浏览器中跟踪下,看具体的请求和返回结果的格式是echatrs要求的吗?
chrome浏览器就有跟踪的窗口
前台servlet接受的数据要是List的数据类型。然后里面存的是一个数据对应一个值,比如张三:175cm,李四180cm;然后在ajax里用for循环将值取出然后加到定义的数组里,就可以了
数据请求失败跟echarts没关系,是你请求有问题吧