javascript - 无法从 API 获取数据以在图表中显示数据

标签 javascript fusioncharts

我正在使用 ThingSpeak API 检索数据。我想在融合图表中显示数据。如何在图表中显示动态数据?此代码适用于其他第 3 方 API,但不适用于此 API。

示例数据:

172.70

API:

https://api.thingspeak.com/channels/23037xxx/fields/field1/last?api_key=EG628M4J9SP76xxx

<script>
  FusionCharts.ready(function() {
    LoadChart();
  });

  function LoadChart() {
    $.ajax({
      url: 'https://api.thingspeak.com/channels/230xxx/fields/field1/last?api_key=EG628M4J9SP76xxx', // local address
      type: 'GET',
      crossDomain: true,
      success: function(data) {
        if (data.success) {
          var chlorine = data;
          var phfusioncharts = new FusionCharts({
            type: 'angulargauge',
            renderAt: 'ph-container',
            width: '450',
            height: '300',
            dataFormat: 'json',
            dataSource: {
              "chart": {
                "caption": "Chlorine ",
                "lowerLimit": "0",
                "upperLimit": "14",
                "showValue": "1",
                "valueBelowPivot": "1",
                "theme": "fint"
              },
              "colorRange": {
                "color": [{
                  "minValue": "0",
                  "maxValue": "5",
                  "code": "#6baa01"
                }, {
                  "minValue": "5",
                  "maxValue": "10",
                  "code": "#f8bd19"
                }, {
                  "minValue": "10",
                  "maxValue": "14",
                  "code": "#e44a00"
                }]
              },
              "dials": {
                "dial": [{
                  "value": chlorine
                }]
              }
            }
          });

          phfusioncharts.render();
        }
      }
    });
  }
</script>
</head>
<body>
  <table class="">
    <tr>
      <td>
        <div id="ph-container" style="float:left;"></div>
      </td>
    </tr>
  </table>

最佳答案

您不需要检查data.success是否成功。您的 api 仅响应一个浮点值。所以 data.success 是未定义的。它永远不会进入 if 条件。

查看演示:http://jsfiddle.net/x5FBh/1201/

JS:

FusionCharts.ready(function () {
  LoadChart();
});

function LoadChart() {
  $.ajax({
    url: 'https://api.thingspeak.com/channels/230372/fields/field1/last?api_key=EG628M4J9SP769UT', // local address
    type: 'GET',
    crossDomain: true,
    success: function (data) {
        console.log('xhr success')
      //if (data.success) {
        console.log("success");
        var chlorine = data;
        var phfusioncharts = new FusionCharts({
          type: 'angulargauge',
          renderAt: 'ph-container',
          width: '450',
          height: '300',
          dataFormat: 'json',
          dataSource: {
            "chart": {
              "caption": "Chlorine ",
              "lowerLimit": "0",
              "upperLimit": "14",
              "showValue": "1",
              "valueBelowPivot": "1",
              "theme": "fint"
            },
            "colorRange": {
              "color": [{
                "minValue": "0",
                "maxValue": "5",
                "code": "#6baa01"
              }, {
                "minValue": "5",
                "maxValue": "10",
                "code": "#f8bd19"
              }, {
                "minValue": "10",
                "maxValue": "14",
                "code": "#e44a00"
              }]
            },
            "dials": {
              "dial": [{
                "value": "22"
              }]
            }
          }
        });

        phfusioncharts.render();
      //}
    }
  });
}

关于javascript - 无法从 API 获取数据以在图表中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42392700/

相关文章:

javascript - 仅使用 css 固定内部 div

php - fusioncharts 图表不显示

javascript - 防止使用回车键提交表单

javascript - 使用javascript合并数组中具有间隔属性的重叠对象

javascript - 什么是 'Currying' ?

javascript数学函数: Right now it forms a circle,我需要做一个半圆

Angular 7 通用,ReferenceError : window is not defined

javascript - FusionCharts feedData 不是 AngularJS 中的函数

javascript - 如何格式化多系列列 2D Fusion Chart 工具提示字符串

flash - 是否有针对 Fusion Charts Free 的 ACPrintFix(Flash 打印修复)实现?