如何使用Jquery REST API在物联网上发送消息?

时间:2019-12-12 09:49:42

标签: javascript jquery ajax api

enter image description here我有一个设备,正在测试我的按钮,看看它是否在事物网络上收到消息。

我有以下要求。但是我目前正在测试它的启动时间,并且需要一些指导,因为我是该平台上的新手:我在研究此链接时看到,我不知道它是否相关,请帮助mate HTTP 404。

  • deviceId
  • payload_raw
  • 网址

HTML:

<!-----Toggle switch button On/Off.  --->
<div class = "wrapper" align = "center">
  <div class="btn-group" id="toggle_event_editing">
    <button type="button" class="btn btn-danger locked_active">OFF</button>
    <button type="button" class="btn btn-success unlocked_inactive">ON</button>
  </div> 
  <div class="alert alert-danger" id="switch_status">Switched off.</div>
</div>


Javascript:

我尝试使用下面的Jquery文档中的crossDomain逻辑;该错误仍然存​​在,现在可能是个问题?

$.ajax({
    xhrFields: {
        withCredentials: true
    },
    type: "POST",
    url: "https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/acts083_test/mkr1300?key=ttn-account-v2.7Ph6lBffU7wI9cLY5ljIhIb_I7sqH5EVvo5zs9uVyA0""
}).done(function (data) {
    console.log(data);
});

// XMLHttpRequest
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/acts083_test/mkr1300?key=ttn-account-v2.7Ph6lBffU7wI9cLY5ljIhIb_I7sqH5EVvo5zs9uVyA0"", true);
xhr.withCredentials = true;
xhr.onload = function () {
    console.log(xhr.responseText);
};
xhr.send();

// Fetch with credentials
fetch("https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/acts083_test/mkr1300?key=ttn-account-v2.7Ph6lBffU7wI9cLY5ljIhIb_I7sqH5EVvo5zs9uVyA0"", {
    credentials: "include"
}).then(function (response) {
    return response.json();
}).then(function (json) {
    console.log(json);
});

1 个答案:

答案 0 :(得分:0)

您的错误归因于CORS(跨源请求共享)。当您在与页面不同的域上执行POST请求时,将激活对浏览器的保护。

CORS

可能的选项:

  • 尝试先测试GET帖子,
  • 尝试使用其他浏览器(Chrome浏览器是 对此很挑剔)。

为使请求正常工作,服务器响应中应包含以下标头:

Access-Control-Allow-Origin: http://toto.example
Access-Control-Allow-Methods: POST, GET
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400

并且您拥有支持预检OPTIONS查询的服务器。