用于设备控制的自定义 thingsboard 小部件 (REST)
custom thingsboard widget for device control (REST)
我正在使用 thingsboard 创建一个灯光控制器。
我需要使用 rest put request
更改设备的遥测数据 (thingsboard)
$.post("http://<ip_here>:8080/api/v1/<device_accesscode_here>/telemetry",{ selectedPreset:2 });
REST 调用使用 swagger.io 和 postman 工作,但是当从小部件或任何其他网页调用时,请求 returns 400。
似乎找不到解决方案,url 是正确的。我已经尝试了 $.post 和 $.ajax 样式。
耶!我成功了!
出于某种原因,只有 XHR 方法有效..
var data = "{\"selectedPreset\":\"2\"}";
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "IP HERE");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("postman-token", "33c35ded-140d-e016-fa35-ee8185d7bd44");
xhr.send(mydata);
我把这个从邮递员那里撕下来了。
我正在使用 thingsboard 创建一个灯光控制器。 我需要使用 rest put request
更改设备的遥测数据 (thingsboard)$.post("http://<ip_here>:8080/api/v1/<device_accesscode_here>/telemetry",{ selectedPreset:2 });
REST 调用使用 swagger.io 和 postman 工作,但是当从小部件或任何其他网页调用时,请求 returns 400。
似乎找不到解决方案,url 是正确的。我已经尝试了 $.post 和 $.ajax 样式。
耶!我成功了!
出于某种原因,只有 XHR 方法有效..
var data = "{\"selectedPreset\":\"2\"}";
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "IP HERE");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("postman-token", "33c35ded-140d-e016-fa35-ee8185d7bd44");
xhr.send(mydata);
我把这个从邮递员那里撕下来了。