首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在图表中显示错误信息?

如何在图表中显示错误信息?
EN

Stack Overflow用户
提问于 2018-07-17 09:40:31
回答 1查看 1.3K关注 0票数 2

我通过ajax调用动态地将数据加载到高级图表中。当ajax调用正在进行时,我用".showLoading“函数为用户显示旋转器,当它完成时,我会隐藏旋转器并显示数据。现在,我正在尝试为ajax调用实现错误处理。如果请求失败,我想隐藏旋转器并显示错误消息。

代码语言:javascript
运行
复制
my_chart = Highcharts.chart(...)  // create my desired chart with no data

my_chart.showLoading('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>'); // show spinner while loading

$.getJSON('/chart_JSON', function(data){ // load data via ajax
    my_chart.addSeries(...) // add data to chart
    my_chart.hideLoading(); // hide spinner
})
.fail(function() {
    my_chart.hideLoading(); // hide spinner
    // display error message in place of chart ???
})

有“无数据到显示. is”插件的高图表(http://code.highcharts.com/modules/no-data-to-display.js)。如果没有数据,它会在每个图表的中心显示响应信息。您可以用

代码语言:javascript
运行
复制
Highcharts.setOptions({lang: {noData: "my message"}})

但是:

  • 当图表数据正在加载时,消息也会显示(在我的旋转器下)
  • 所有图表的信息是相同的。

我希望我的错误信息类似于“服务器错误,尝试重新加载页面”,但我不想在图表加载时显示它。我怎样才能以一种最有反应和最自然的方式去做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-17 11:29:54

这可以通过提到的“无数据到显示. be”插件及其".hideNoData()“、".showNoData()”函数来实现。

代码语言:javascript
运行
复制
my_chart = Highcharts.chart(...)  // create my desired chart with no data

my_chart.hideNoData();
my_chart.showLoading('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>'); // show spinner while loading

$.getJSON('/chart_JSON', function(data){ // load data via ajax
    my_chart.addSeries(...) // add data to chart
    my_chart.hideLoading(); // hide spinner
})
.fail(function() {
    my_chart.hideLoading(); // hide spinner
    my_chart.showNoData("Server error, please reload page");
})

感谢@ewolden给出的答案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51378061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档