ehcart-java 问题

tianxia007 发布于 2016/03/16 12:46
阅读 985
收藏 0

【开源中国 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);就可以了!不用编程字符串

加载中
0
lagel
lagel

我想和你说一下,你解决了问题,并不是同步异步的问题。

    而是你最上面那个 ajax 请求,得到的结果.

        你把它转换成了字符串啊。 你把它转换成了字符串啊。你把它转换成了字符串啊。

var jsonStr = JSON.stringify(data);
restr=jsonStr;
myChart.setOption(restr);

服务器返回的数据,一般可以从请求头中看到,如果 Content-Type: application/json.  那么请求回来的结果直接就是 json 对象。否则就是字符串或者其他。

而且 Echart 里面需要接受的是 json 对象,而不是字符串哦。

0
红薯官方
红薯官方

问题1:你的Bootstrap要求最低jQuery 1.9版本

问题2:你可以在Ajax回调中初始化Echart图表。

0
Liuzh_533
Liuzh_533
http://blog.csdn.net/isea533/article/details/43225717
tianxia007
tianxia007
多谢
0
淡看江湖
淡看江湖
还没明白ajax是异步的啊,你请求完了的时候 echart都绘制完成了。
tianxia007
tianxia007
改造成同步的,还真好了!!!
tianxia007
tianxia007
jquery请求 用同步的吗
0
Liuzh_533
Liuzh_533
保证json中没有null的值,把js控制台错误发出来看看。
tianxia007
tianxia007
大神 我把我js中写法 贴图了,js控制台没有什么报错信息。 有一个“Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher ”
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部