如何使用JavaScript和Node.Js在Fusion图表上传递MySQL数据?

如何使用JavaScript和Node.Js在Fusion图表上传递MySQL数据?,javascript,mysql,node.js,fusioncharts,Javascript,Mysql,Node.js,Fusioncharts,这里我上传了两个截图。我想在此仪表中显示MySQL数据。我正在使用JavaScript和Node.Js进行MySQL数据库连接 <script type="text/javascript"> let fusionCharts= document.querySelector('#chart-container') FusionCharts.ready(function() { var fusionCharts = new Fusion

这里我上传了两个截图。我想在此仪表中显示MySQL数据。我正在使用JavaScript和Node.Js进行MySQL数据库连接

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });
融合图编码

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });

下面是一个片段,您可以使用上面的技术来渲染FusionCharts

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });
Server.js

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });
const mysql = require("mysql");
const express = require("express");
const bodyparser = require("body-parser");
const path = require("path");
var app = express();
//Configuring express server
app.use(bodyparser.json());

//MySQL details
var mysqlConnection = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "fusioncharts_jspsample",
  multipleStatements: true
});

mysqlConnection.connect(err => {
  if (!err) console.log("Connection Established Successfully");
  else console.log("Connection Failed!" + JSON.stringify(err, undefined, 2));
});

//Establish the server connection
//PORT ENVIRONMENT VARIABLE
const port = process.env.PORT || 8080;
app.listen(port, () => console.log(`Listening on port ${port}..`));

app.use(express.static("public"));

app.get("/", (req, res) => {
  res.sendFile(path.join(__dirname + "/index.html"));
});


app.get("/api/number_of_visitor/:id", (req, res) => {
  mysqlConnection.query(
    "SELECT * FROM number_of_visitor WHERE id = ?",
    [req.params.id],
    (err, rows, fields) => {
      if (!err) {
        res.json(rows);
      } else console.log(err);
    }
  );
});
客户端代码段

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js"></script>
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
    <script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.fusion.js"></script>
  </head>

  <body>
    <h1>Angular Gauge</h1>

    <script type="text/javascript">
      async function fetchData(id = 1) {
        const { data } = await axios.get(
          `http://localhost:8080/api/number_of_visitor/${id}`
        );
        return data;
      }

      Promise.all([fetchData()]).then(v => {
        console.log(v);
        let val = v[0][0].bakersfield_central;
        const ds = {
          chart: {
            caption: "Customer Satisfaction Score",
            subcaption: "Last week",
            lowerLimit: "0",
            upperLimit: "22500",
            lowerLimitDisplay: "Bad",
            upperLimitDisplay: "Good",
            showValue: "1",
            valueBelowPivot: "1",
            theme: "fusion"
          },
          colorRange: {
            color: [
              {
                minValue: "0",

            maxValue: "7500",
            code: "#e44a00"
          },
          {
            minValue: "7500",
            maxValue: "15000",
            code: "#f8bd19"
          },
          {
            minValue: "15000",
            maxValue: "22500",
            code: "#6baa01"
          }
        ]
      },
      dials: {
        dial: [
          {
            value: val
          }
        ]
      }
    };

    FusionCharts.ready(function() {
      var cSatScoreChart = new FusionCharts({
        type: "angulargauge",
        renderAt: "container",
        width: "400",
        height: "250",
        dataFormat: "json",
        dataSource: ds
      }).render();
    });
  });
</script>
<div id="container"></div>

文件
角规
异步函数fetchData(id=1){
const{data}=wait axios.get(
`http://localhost:8080/api/number_of_visitor/${id}`
);
返回数据;
}
Promise.all([fetchData()])。然后(v=>{
控制台日志(v);
设val=v[0][0]。贝克斯菲尔德中央大学;
常数ds={
图表:{
描述:“客户满意度得分”,
子选项:“上周”,
lowerLimit:“0”,
上限:“22500”,
lowerLimitDisplay:“坏”,
屏幕显示:“好”,
showValue:“1”,
valueBelowPivot:“1”,
主题:“融合”
},
颜色范围:{
颜色:[
{
最小值:“0”,
最大值:“7500”,
代码:“e44a00”
},
{
minValue:“7500”,
最大值:“15000”,
代码:“f8bd19”
},
{
minValue:“15000”,
最大值:“22500”,
代码:“6baa01”
}
]
},
拨号盘:{
拨号:[
{
值:val
}
]
}
};
FusionCharts.ready(函数(){
var cSatScoreChart=新FusionCharts({
类型:“角度规”,
renderAt:“容器”,
宽度:“400”,
高度:“250”,
数据格式:“json”,
数据源:ds
}).render();
});
});

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });
使用邮递员为请求提供服务

    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });

如果您仍然面临问题,这里是一个演示(包括SQL文件)

发布代码,而不是代码的图像。问题很简单:您没有设置任何路由。您的节点代码只是建立两个连接,将内容打印到控制台,然后退出。你需要按照这个基本的方法建立一个发送回mysql数据的路由,然后在你的html页面中请求相应的URL。我已经上传了代码。现在请检查一下。实际上,我是第一次这样做。所以,如果你能帮我写代码,那就更好了。我已经看过你的代码了。就像我说的,你没有在任何地方使用express。你需要设置路线。使用GET-route from,而不是发送回文本,用于发送回mySQL数据。请阅读-总结是,这不是解决志愿者问题的理想方法,可能会对获取答案产生反作用。请不要将此添加到您的问题中。
    <script type="text/javascript">

    let fusionCharts= document.querySelector('#chart-container')   

    FusionCharts.ready(function() {

        var fusionCharts = new FusionCharts("chart-container",{
            "type": "angulargauge",
            "renderAt": "chart-container",
            "width": "450",
            "height": "250",
            "dataFormat": "json",
            "dataSource": {
                // Chart Configuration
                "chart": {
                    "caption": "",
                    "lowerLimit": "0",
                    "upperLimit": "100",
                    "showValue": "1",
                    "numberSuffix": "%",
                    "theme": "fusion",
                    "showToolTip": "0"
                },
                // Chart Data
                "colorRange": {
                    "color": [{
                        "minValue": "0",
                        "maxValue": "50",
                        "code": "#F2726F"
                    }, {
                        "minValue": "50",
                        "maxValue": "75",
                        "code": "#FFC533"
                    }, {
                        "minValue": "75",
                        "maxValue": "100",
                        "code": "#62B58F"
                    }]
                },
                "dials": {
                    "dial": [{
                        "value": "80",
                    }]
                }
            }
        });
        fusionCharts.render();
    });