从 app.js in index.html 文件中读取变量 在网站 Bluemix 应用程序中



我正在开发一个Web应用程序来控制智能家居设备。我正在使用 Bluemix IoT 平台设计它,但我遇到了一些无法解决的问题。

我正在读取app.js文件中的变量(currentRelay1),该变量直接从 IoT 设备读取。

var Client = require('ibmiotf');
var appClientConfig = {
    "org" : "rmpr4l",
    "id" : "dineriot",
    "domain": "internetofthings.ibmcloud.com",
    "auth-key" : "a-rmps4l-0uegqtl8mec",
    "auth-token" : "V8vB!?R3yES7dc@vtj"
};
var appClient = new Client.IotfApplication(appClientConfig);
appClient.connect();
appClient.on("connect", function () {
    appClient.subscribeToDeviceEvents();
});
appClient.on("deviceEvent", function (deviceType, deviceId, eventType, format, payload) {
    console.log("Device Event from :: "+deviceType+" : "+deviceId+" of event "+eventType+" with payload : "+payload);
    var json = JSON.parse(payload);
    currentRelay1 = json["C1"] * 1000;
    currentRelay2 = json["C2"] * 1000;
});

现在,我想共享此变量以在index.html文件中使用它来绘制图表。

我该怎么做?

由于这是您的服务器端代码,因此您需要将此数据发送到您的页面。或从服务器请求它的页面。不幸的是,这是一个非常大的话题:)

您可以设置一个服务器,该服务器将像这样响应:

服务器.js//"data" 是你的变量

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.write("data: " + data + 'nn');
    res.end();
}).listen(8000);

客户端.js//包含在您的.html文件中

<script>
    function handler(e){
        if (e.target.readyState == 4 && e.target.status == 200) {
            //use "e.target.data" here
        }
    }
    var r = new XMLHttpRequest();
    r.open('GET', 'http://localhost:8000');
    r.addEventListener(readystatechange, handler);
    r.send();
</script>

延伸阅读:https://nodejs.org/api/http.htmlhttps://www.w3schools.com/xml/xml_http.asp

相关内容

  • 没有找到相关文章

最新更新