0

我通过 AJAX 请求获取数据,它看起来像这样:

[1,3252325],[2,2323]

第二个值是调用的文件idfId

现在我尝试获取该 id 并进行另一个 ajax 调用以找出相应的名称并使用它来覆盖 x 轴描述。

一切正常,但问题是每次运行时,它都会删除所有现有名称。因此,最后,我只剩下最后一个具有自定义 xAxis 描述的数据集。

我需要的是最终所有数据集都有自定义的 xAxis 新名称。

我试图搜索 API.txt,但找不到任何关于它的信息。我也尝试了几个小时来移动代码或重写它,但毕竟我遇到了同样的问题。

那是代码的一部分:

function onDataReceived(series) {

    //Add data
    if (!alreadyFetched[series.label]) {
        alreadyFetched[series.label] = true;
        fdata.push(series);

        //Get ID
        var fId = [series.data[0][0]];

        //Get names
        $.ajax({
            url: 'inc/admin.inc.php?action=get&option=filename&id='+fId+'',
            method: 'GET',
            dataType: 'html',
            success: function(response){
                $.plot(fplaceholder, fdata,$.extend(true, {}, foptions, {

                    //Works, but each time it runs, it removes all previous overrides
                    xaxis:{ticks:[[fId,response]]}

                }));
            }
        });
    }

}

$.ajax({
    url: dataurl,
    method: 'GET',
    dataType: 'json',
    success: onDataReceived
});

更新:

我目前正在使用“hack”来完成我想要的工作,但这可能只适用于我的特定需求:

我将 xaxis“显示十进制数字”设置为 false。绘图建立后,我启动一个超时函数来搜索所有 xaxis 值(在我的例子中是 ids)并通过一个小的 ajax 调用找到相应的名称。

不过,我仍在寻找如何直接在 flot 代码中执行此操作。

4

0 回答 0