zhanglaoda1 2020-04-05 15:39 采纳率: 0%
浏览 244

在Freemarker中使用ajax与Echarts绘制图标 controller返回map的json格式 可是ajax就是报错

这是我ftl的代码

<script type="text/javascript">
            // 基于准备好的dom,初始化echarts实例
            var myChart = echarts.init(document.getElementById('main'));
            //ajax查询销售数据
            // 绘制图表
            option = {
                title: {
                    text: '每月销售额'
                },
                tooltip: {},
                xAxis: {
                    data: ['', '', '', '', '', '']
                },
                yAxis: {},
                series: [{
                    name: '销售额',
                    type: 'bar',
                    data: [5, 20, 36, 10, 10, 20]
                }]
            };
            myChart.setOption(option);
            myChart.showLoading();
            $.ajax({
                async: true,
                url: "/admin/index/ajaxEchart",
                dataType: "json",
                success: function (data) {
                    var arr = [];
                    var arrMon = [];
                    for (var i = 1; i <= 12; i++) {
                        arr.push(data[i]);
                        arrMon.push(i + "月份");
                    }
                    console.log(arr);
                    option.xAxis.data = arrMon;
                    console.log(arrMon);
                    option.series[1].data = arr;
                    myChart.hideLoading();
                    myChart.setOption(option);
                }
            });
    </script>

    这是我后台返回的map打印的结果
{11=0.00, 1=0.00, 12=0.00, 2=0.00, 3=127198.75, 4=6987.00, 5=0.00, 6=0.00, 7=0.00, 8=0.00, 9=0.00, 10=0.00}```
  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-17 00:14
    关注

    参考GPT和自己的思路:

    根据您提供的信息,我猜测您在使用ajax请求获取后台返回的map数据时出现了问题。具体来说,您可能遇到了以下几个问题:

    1. ajax请求出错:这个可能是因为请求的url不正确或服务器响应出错导致的。您可以在浏览器的开发者工具中查看网络请求的情况,以便找出问题所在。

    2. ajax请求成功但无法获取map数据:这个可能是因为后台返回的map数据没有按照json格式返回导致的。您可以在浏览器中查看响应的内容,确认是否符合json格式要求。另外,您可以在后台打印map对象的内容,以便确定是否真的按照预期返回了map数据。

    3. Echarts图表的数据更新失败:这个可能是因为您在更新Echarts数据时没有按照正确的格式进行更新。根据您提供的代码,我看到您通过修改option对象来更新图表数据,但是您没有调用myChart.setOption(option)方法来更新实际的图表。如果您确保数据格式正确,但是图表数据还是没有更新,可以尝试在更新option后重新调用myChart.setOption(option)方法来刷新图表。

    希望以上信息对您有所帮助。如果还有问题,可以提供更多的信息或具体错误信息,以便我更好地帮助您解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛