浸漬ヒーター デバイスを制御するためのフラスコ API があります。
https://github.com/timcknowles/anovapi_backend/blob/master/anova.py
これは私のlocalhostサーバー上にあり、同じドメインのJQuery POSTリクエストに正しく応答します。
$(document).ready(function() {
$("#start").click(function() {
$.ajax({
type: 'post',
url: 'http://192.168.0.13:5000/start',
dataType: 'jsonp',
success: function(data) {
$("#message").html(data);
}
$("#settemp").click(function() {
$.ajax({
type: 'post',
contentType: 'application/json',
url: ' http://192.168.0.13:5000/temp',
data: JSON. stringify ({"temp":"50"}),
dataType: 'json',
success: function(data) {
$("#message").html(data);
}
});
ただし、別のサーバーでsinatraクライアントアプリを構築したかった
https://github.com/timcknowles/anovapi_frontend/blob/master/main.rb
同じ API と対話します。jquery は同一であり、START 呼び出しでは正常に機能しますが、TEMP 呼び出しでは機能しません。
firefox の開発者コンソールでは、POST 要求 (応答 200) の代わりに OPTIONS があることがわかります。
最初に、すべての API jQuery リクエストでクロス ドメインの問題が発生しましたが、フラスコの cors 拡張機能を API に追加することでこれらの問題を解決したと考えていました。
https://pypi.python.org/pypi/Flask-Cors
一時呼び出しが機能しない理由がわかりませんが、他の呼び出しは機能します。温度値の形式でデータを送信しているためだと思われます。
どんなアドバイスでも大歓迎です。