大家帮我看看,$ajax使用有错吗?为什么node和link的数据改为$ajax调用php报错, Thank you!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!--Step:1 Import a module loader, such as esl.js or require.js-->
<!--Step:1 引入一个模块加载器,如esl.js或者require.js-->
<script src="echarts/esl.js"></script>
<script src="jquery-1.11.1.min.js"></script>
</head>
<body>
<!--Step:2 Prepare a dom for ECharts which (must) has size (width & hight)-->
<!--Step:2 为ECharts准备一个具备大小(宽高)的Dom-->
<div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>
<script type="text/javascript">
function nodes() {
$.ajax({
type: "get",
url: "node.php",
data: {},
dataType: "json",
async: true,
success: function(list) {
// var json = eval(data);
//alert(result[0].HighTemp);
for (var i = 0; i < list.length; i++) {
res.push(list[i].HighTemp);
//alert(result[i].HighTemp);
}
}
});
};
function links() {
$.ajax({
type: "get",
url: "link.php",
data: {},
dataType: "json",
async:true,
success: function(list1) {
// var json = eval(data);
//alert(result[0].HighTemp);
for (var i = 0; i < list1.length; i++) {
res.push(list1[i].HighTemp);
//alert(result[i].HighTemp);
}
}
});
}
// Step:3 conifg ECharts's path, link to echarts.js from current page.
// Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
require.config({
paths:{
echarts:'./echarts/echarts',
'echarts/chart/force' : './echarts/echarts',
'echarts/chart/line':'./echarts/echarts'
}
});
// Step:4 require echarts and use it in the callback.
// Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
require(
[
'echarts',
'echarts/chart/force',
'echarts/chart/line'
],
function(ec) {
var myChart = ec.init(document.getElementById('main'));
myChart.setOption({
title:{
text:'fansRelation',
x:'right',
y:'bottom'
},
tooltip : {
trigger: 'item',
formatter:'{a}:{b}'
},
legend: {
x:'left',
data:['user','fans']
},
series : [
{
type:'force',
name:'fansRelation',
categories:[
{
name:'users',
itemStyle:{
normal:{
color:'#ff7f50'
}
}
},
{
name:'fans',
itemStyle:{
normal:{
color:'#87cdfa'
}
}
}
],
itemStyle:{
normal:{
label:{
show:true,
textStyle:{
color:'#800080'
}
},
nodeStyle:{
brushType:'both',
strokeColor:'rgb(255,215,0,0.4)',
lineWidth:1
}
},
emphasis:{
label:{
show:false
},
nodeStyle:{
},
linkStyle:{}
}
},
minRadius:15,
maxRadius:25,
density:0.05,
attractiveness:1.2,
linkSymbol:'arrow',
nodes:[nodes()],
links : [
links()]
}
]
});
var ecConfig = require('echarts/config');
function focus(param) {
var data = param.data;
var links = option.series[0].links;
var nodes = option.series[0].nodes;
if (
data.source !== undefined
&& data.target !== undefined
) { //点击的是边
var sourceNode = nodes[data.source];
var targetNode = nodes[data.target];
console.log("选中了边 " + sourceNode.name + ' -> ' + targetNode.name + ' (' + data.weight + ')');
} else { // 点击的是点
console.log("选中了" + data.name + '(' + data.value + ')');
}
console.log(param);
}
myChart.on(ecConfig.EVENT.CLICK, focus)
}
);
</script>
</body>
</html>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
确保内容载入完成再执行
$.ready(function(){
//
})
回复 @hbxtlinlin:有没有隐藏掉要显示的层?nodes:(function(){nodes()}),links:(function(){links()})这样修改后不报错了,左上角和右下角的信息能出来,但是图还是不能出来晕-_-||,ajax是异步的。。。。设成异步也不显示 回复 @hbxtlinlin:-_-||||||,json格式啊~~兄弟,先补补基础吧,这样没法玩下去的。 @Kener-林峰,两个{}之间需要加逗号吗?这是node.php和link.php返回的部分数据,有错吗?为什么图片还是不能显示?想问下最后是怎么解决的,遇到了同样的问题