我通过 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 代码中执行此操作。