我想实现echart的图表,我想知道我的写法ajax会被调用吗,写法有问题吗

坚默不语hj 发布于 07/12 12:01
阅读 182
收藏 0
<div id="main1"
			style="width: 100%; height: 500px; margin-left: 100px;"></div>
		<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main1'));

        // 指定图表的配置项和数据
        var option = {
        	title:{
        		text:'2018年三位销售员业绩',
        		subtext:'数据为虚构'
        	},
        	tooltip:{},
        	legthd:{
        		data:["销售1","销售2","销售3"]
        	},
        	toolbox:
        	{
        		show:true,
        		feature:{
        			dataView:{show:true,readOnly:false},
        			magicType:{show:true,type:['line','bar']},
        			restore:{show:true},
        			saveAsImage:{show:true}
        			
        		}
        	},	
        	xAxis:{
        		type:"category",
        		data:[]
        	},
        	yAxis:[{
        		type:"value"
        	}
        	],
        	series:[
        	       {
        	    	   name:"销售1",
        	    	   type:"bar",
        	    	   data:[]
        	       },
        	       {
        	    	  name:"销售2" ,
        	    	   type:"bar",
        	    	   data:[]
        	       },
        	       {
        	    	   name:"销售3",
        	    	   type:"bar",
        	    	   data:[]
        	       }
        	]
        	
        		
        };
         myChart.showLoading();//loading动画
         $.ajax({
        	 type:"post",
        	 async:true,
        	 url:"${pageContext.request.contextPath}/echartsView.do",
        	 dataType:"json",
        	 success:function(result){
        		if(result){
        			var obj = eval('(' + result + ')');
        			myChart.hideLoading();
        			myChart.setOption({
        				xAxis:{
        			     data:obj.xAxisData
        				},
        				series:obj.seriesList	
        			});
        		}
        	 },
            error:function(errorMsg){
         	alert("请求数据失败!");
         	myChart.hideLoading();
         }
         });  
        myChart.setOption(option);
    </script>

 

加载中
1
坚默不语hj
坚默不语hj

找的问题了var obj = eval('(' + result + ')');这里写法不对,改成了var obj = eval(' result ');就可以正常的执行ajax方法了。

 

0
wangaowell
wangaowell

你的result格式是什么样的?还有你的最后一行代码可以放在 loading 动画前面

坚默不语hj
坚默不语hj
result是json.toString格式,现在关键是给我的感觉是,ajax就没走进去,如果走进去,会弹出error里边的alert的内容的。
0
坚默不语hj
坚默不语hj

引用来自“坚默不语hj”的评论

找的问题了var obj = eval('(' + result + ')');这里写法不对,改成了var obj = eval(' result ');就可以正常的执行ajax方法了。

 

返回顶部
顶部