解決ajax獲取到數據放到echarts裏不顯示問題

最近,小碼哥在作一個須要用到echarts地圖的項目的時候,成功經過ajax獲取到了後臺提供的數據,並生成了想要的JSON串。可是,放到echarts option.series[0].data裏,獲取不到數據。在生成的地圖上沒法看到你從後臺獲取到的值。小碼哥翻遍百度和必應,給出的答案五花八門,仍舊未解決問題,最後仍是一個同事大牛給解決的,在此,小碼哥分享給你們。但願對你們有幫助,,,,ajax


閒話少說,直接上碼:api

$(function () { echarts

 

 var data = [];iphone

 

 function setOption(data){ide

var myChart = echarts.init(document.getElementById('main'));函數

//window.onresize = myChart.resize;post

var option = {url

title : {spa

text: '全國...分佈圖',rest

  // subtext: '純屬虛構',

x:'left'

},

tooltip : {

trigger: 'item'

},

  // legend: {

//    orient: 'vertical',

//   x:'left',

//   data:['iphone3','iphone4','iphone5']

 //  },

dataRange: {

min: 0,

max: 10,

x: 'left',

y: 'bottom',

text:['高','低'],           // 文本,默認爲數值文本

color:['#ff5e5e', '#ffa25e', '#ffd05e','#fce6b2','#e1dbcd'],

calculable : true

},

 // toolbox: {

  // show: true,

 //  orient : 'vertical',

 //  x: 'right',

 //  y: 'center',

//   feature : {

//       mark : {show: true},

//    dataView : {show: true, readOnly: false},

 //      restore : {show: true},

  //     saveAsImage : {show: true}

 //  }

 //  },

 //  roamController: {

//   show: true,

//   x: 'right',

//   mapTypeControl: {

 //      'china': true

//   }

//   },

series : [

{

name: '...',

type: 'map',

mapType: 'china',

roam: false,

itemStyle:{

normal:{label:{show:true}},

emphasis:{label:{show:true}}

},

data:data

}

]

};

myChart.setOption(option);

  //$.getJSON('HotspotServlet',function(data){

  //option.series[0].data=data.result;

// 爲echarts對象加載數據 

//myChart.setOption(option);

  //});

}

 

 

   //獲取...排行數據

  function getMapData(limit){

 $.ajax({

 url:'http://127.0.0.1/api/adminunit/score/top/'+limit,

 type:'post',

 dataType:'JSON',

 success:function(objdata){

 //var str = JSON.parse(objdata);

 for(var i = 0;i < objdata.length;i ++){

var dId = parseInt(objdata[i].id);

//var dName="天津市";

//if(dId==1){

// dName="北京市";

//}

var dName = objdata[i].name;

var dScore = parseInt(objdata[i].score);

var oneData = {};

var oneData = {id:dId,name:dName,value:dScore};

data.push(oneData);

 }

 console.log(data);

 //option.series[0].data=data;

setOption(data);//執行setOption函數。傳參

 }

 });

}

getMapData(2);


});

裏面最重要的就是從後臺獲取到的數據是經過傳參的形式放到echarts裏的。

當時我作的時候未經過傳參的形式,在echarts裏獲取到的數據始終是空的。

相關文章
相關標籤/搜索