Maison >interface Web >js tutoriel >Analyse et solutions aux raisons pour lesquelles les données obtenues par Ajax ne sont pas affichées dans les graphiques
Lorsque je travaillais sur un projet nécessitant l'utilisation de cartes echarts, j'ai réussi à obtenir les données fournies par l'arrière-plan via ajax et à générer la chaîne JSON souhaitée. Cependant, lorsqu'il est placé dans echarts option.series[0].data, aucune donnée ne peut être obtenue. Vous ne pouvez pas voir la valeur que vous avez obtenue à partir de l'arrière-plan sur la carte générée. Je partagerai ma solution avec vous ci-dessous. Les amis qui en ont besoin peuvent s'y référer
Lorsqu'ils travaillent sur un projet nécessitant l'utilisation d'une carte echarts. , Les données fournies par l'arrière-plan ont été obtenues avec succès via ajax et la chaîne JSON souhaitée a été générée. Cependant, lorsqu'elles sont placées dans echarts option.series[0].data, les données ne peuvent pas être obtenues. Les valeurs que vous obtenez en arrière-plan ne sont pas visibles sur la carte générée. Après avoir cherché sur Baidu et Bing, les réponses données étaient diverses, mais le problème n'était toujours pas résolu, un collègue, un expert, l'a résolu et j'aimerais le partager avec tout le monde. J'espère que cela aidera tout le monde,,,,
Sans plus tarder, passons directement au code :
$(function () { var data = []; function setOption(data){ var myChart = echarts.init(document.getElementById('main')); //window.onresize = myChart.resize; var option = { title : { text: '全国...分布图', // 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); });
Le plus important est que les données obtenues en arrière-plan soient sous la forme des paramètres de passage Mettez-le dans des graphiques.
Quand je l'ai fait, je n'ai pas transmis de paramètres et les données obtenues dans les echarts étaient toujours vides.
Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.
Articles connexes :
Page de renvoi de demande de publication Ajax
La page du formulaire de soumission Ajax s'actualise rapidement
Deux solutions pour qu'Ajax ouvre une nouvelle fenêtre et soit bloqué par le navigateur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!