【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
后台返回json字符串正常:
部分字符串:{"title":{"text":"你幸福吗?","subtext":"From ExcelHome","sublink":"........
前端解析:
var restr;
var medata;
$.post("resouce/echartsAjax", function(data) {
alert(data);
//var bToObj=JSON.parse(data);
medata=data;
var jsonStr = JSON.stringify(data);
restr=jsonStr;
//restr=restr+";";
alert(restr);
//myChart.setOption(jsonStr);
//alert(9);
});
var option =restr;
var option = eval('(' + restr + ')');
myChart.setOption(option);
都可以看见弹出来的字符串,居然还是没法出图表。请问怎么把返回的数据设置给option啊
各种办法试了也不行,求大神指点:
@Liuzh_333 大神帮忙看下 前端怎么改
2016年3月16日 17:49:19 感谢第二回答的那个大神,果然是同步异步的问题,我改成下面的可以了!
<script type="text/javascript">
/* asdf*/
// 基于准备好的dom,初始化echarts图表
var myChart = echarts.init(document.getElementById('main22'));
$.ajax({
url : "resouce/echartsAjax",
async : false, // 注意此处需要同步,因为返回完数据后,下面才能让结果的第一条selected
type : "POST",
dataType : "json",
success : function(data) {
alert("ajax success");
myChart.setOption(data);
}
});
</script>
同时,后台返回的json字符串对象,直接就是option, myChart.setOption(data);就可以了!不用编程字符串
我想和你说一下,你解决了问题,并不是同步异步的问题。
而是你最上面那个 ajax 请求,得到的结果.
你把它转换成了字符串啊。 你把它转换成了字符串啊。你把它转换成了字符串啊。
var jsonStr = JSON.stringify(data);
restr=jsonStr;
myChart.setOption(restr);
服务器返回的数据,一般可以从请求头中看到,如果 Content-Type: application/json. 那么请求回来的结果直接就是 json 对象。否则就是字符串或者其他。
而且 Echart 里面需要接受的是 json 对象,而不是字符串哦。
问题1:你的Bootstrap要求最低jQuery 1.9版本
问题2:你可以在Ajax回调中初始化Echart图表。