Javascript 在网站Bluemix应用程序的index.html文件中从app.js读取变量
我正在开发一个web应用程序来控制智能家居设备。我正在使用Bluemix物联网平台进行设计,但我有一些无法解决的问题 我正在我的Javascript 在网站Bluemix应用程序的index.html文件中从app.js读取变量,javascript,ibm-cloud,iot,watson-iot,Javascript,Ibm Cloud,Iot,Watson Iot,我正在开发一个web应用程序来控制智能家居设备。我正在使用Bluemix物联网平台进行设计,但我有一些无法解决的问题 我正在我的app.js文件中读取一个变量(currentRelay1),该变量直接从物联网设备读取 var Client = require('ibmiotf'); var appClientConfig = { "org" : "rmpr4l", "id" : "dineriot", "domain": "internetofthings.ibmclo
app.js
文件中读取一个变量(currentRelay1)
,该变量直接从物联网设备读取
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
文件中使用它来绘制图表
我该怎么做呢?因为这是您的服务器端代码,所以您需要将此数据发送到您的页面。或从服务器请求它的页面。不幸的是,这是一个很大的话题:) 您可以设置一个服务器,该服务器将以如下方式响应: server.js/“data”是您的变量
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write("data: " + data + '\n\n');
res.end();
}).listen(8000);
client.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>
函数处理程序(e){
if(e.target.readyState==4&&e.target.status==200){
//在这里使用“e.target.data”
}
}
var r=新的XMLHttpRequest();
r、 打开('获取','http://localhost:8000');
r、 addEventListener(readystatechange,处理程序);
r、 send();
进一步阅读: