私は浸漬式ヒーターデバイスを制御するフラスコAPIを持っています。フラスコでのCORのリクエストapi - OPTIONのJquery POSTリクエストの結果
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);
}
});
は、しかし、私は、同じAPIと対話するために別のサーバー
https://github.com/timcknowles/anovapi_frontend/blob/master/main.rb
にシナトラのクライアントアプリを構築したいと考えていました。 jqueryは同じで、START呼び出しで正常に動作しますが、TEMP呼び出しは機能しません。
firefoxの開発者コンソールでは、POST要求(応答200)ではなくOPTIONSが表示されています。
最初はすべてのapi jQueryリクエストにクロスドメインの問題があり、私はapiにフラスコcors拡張子を追加して解決したと思いました。
https://pypi.python.org/pypi/Flask-Cors
一時呼び出しが動作していないが、他の人がしている理由を私は理解していません。私はそれが温度値の形でデータを送信しているからだと思う。
大変ありがとうございます。
2番目の呼び出しでエラーは何ですか? –
それはちょうどうまくいかないエラーを表示していません – TimK
あなたのjsのエラー関数をトラップするか、呼び出しの結果がブラウザの開発者ツールにあるかを確認してください。 –