当前位置: 首页 > 知识库问答 >
问题:

清除Ajax调用时的图表数据[重复]

公西俊才
2023-03-14

我正在使用图表加载图表。在页面启动时使用硬编码数据的js。接下来,单击一个按钮,我进行一个ajax查询;从数据库获取外部数据,并希望将该数据加载到图表中。

我已检索到正确的数据并将其存储为数组。我想清除当前图表数据,并将此新数组作为图表的新数据输入。

首先,我需要清空旧数据,并尝试、清除()和销毁(),但它们都不起作用。图表只是不断地用旧数据重新加载。旧图表似乎被删除了一瞬间,却又出现了。我该如何解决这个问题?

 $( document ).ready(function() {

        var lineData = {
            labels: ["Lap 1", "Lap 2", "Lap 3", "Lap 4", "Lap 5"],
            datasets: [{
                fillColor: "rgba(255,255,255,0)",
                strokeColor: "rgba(63,169,245,1)",
                pointColor: "rgba(63,169,245,1)",
                pointStrokeColor: "#fff",
                data: [10, 20, 30, 40, 55] // need to swap this with race1Data array
            }, {
                fillColor: "rgba(255,255,255,0)",
                strokeColor: "rgba(102,45,145,1)",
                pointColor: "rgba(102,45,145,1)",
                pointStrokeColor: "#fff",
                data: [97, 87, 55, 72, 66]
            }]
        }

        var lineOptions = {
            responsive: true,
            animation: true,
            pointDot: true,
            scaleOverride : false,
            scaleShowGridLines : false,
            scaleShowLabels : true,
            scaleSteps : 4,
            scaleStepWidth : 25,
            scaleStartValue : null
        };

        //Create Line chart
        var ctx = document.getElementById("lineChart").getContext("2d");
        myNewChart = new Chart(ctx).Line(lineData, lineOptions);

        $("#form").submit(function(e) {
        var race1 = $( "#racename1" ).val();
        var race2 = $( "#racename2" ).val();
        var race1Data = [];
            $.post("MyServlet", {raceName1 : race1, raceName2 : race2},  function(responseText) {
                race1Data = responseText; // <-- correct data
                myNewChart.destroy(); // <--doesn't work
            });
        });

    });    

共有1个答案

孙朝明
2023-03-14

我没有找到更好的解决方案,只能通过调用removeData()

下面是为提供的代码创建的示例:https://jsfiddle.net/4e3u5L89/2/

 类似资料:
  • 问题内容: 我正在使用Ajax根据某些ID从服务器检索数据,以执行自动建议功能。但是,当我提交表单并更新数据库时,“自动建议”字段应该不再包含此ID的任何内容,但仍会从其缓存中检索数据。有谁知道如何清除缓存并在每次按下按钮时发出Ajax发送请求以从服务器获取最新数据?请帮助我整个星期都坚持不下去,找不到解决方案。 例如:当ID字段为00001时,自动建议字段将为1,2,3。在我提交表单并更新数据库

  • 我目前正在开发一个应用程序,但其中有一个错误。每当用户安装应用或清除数据时,应用都应重置。但相反,应用会为用户填充标准数据,而不是显示用户可以自己输入的开始屏幕。 我的问题主要是关于方法。我想输入: 不幸的是,我无法让它工作。有人能指出手头的问题吗?

  • 我有一个如下定义的表视图 当用户单击时,我使用单击的项目详细信息重新加载表。在我重新加载之前,我对表项调用清除 现在,当我单击另一个项目并尝试重新加载表格时,它看起来像下面这样。这是非常奇怪的,因为应该只有一行,但行的大小是一样的,就像从以前的点击,其余的行是空的,除了图标。当我点击图标时,没有任何反应。任何人以前都面临过这种情况。有人知道这是什么原因吗? 我的工具定义如下。它们只是2 的

  • Deprecated since version 0.52. When you delete objects (and buckets/containers), the Gateway marks the data for removal, but it is still available to users until it is purged. Since data still resides

  • 我正在开发一个应用程序,它显示带有。当我滚动的值被清除时。 下面是我的代码 适配器类别: 数据模型类 不知道我哪里做错了。

  • 清除地球上添加的数据,同时有将数据线和数据点清除的效果。 // 使用 clearData API 来清除数据 controller.clearData();