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)方法来刷新图表。

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

    评论

报告相同问题?

悬赏问题

  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站