フラスコ アプリケーションをインストールし、フラスコ レストレス API を実行すると、次のコマンドが正常に実行されます。
curl -H "Content-type: application/json" -X POST http://127.0.0.15000/api/menu -d '{"name":"Hello Data"}'
しかし、JavaScriptで同じことをしようとすると失敗します。私はそれをフラスコの落ち着きのないAPIの問題のあるコード行まで追跡し、それに依存しているため、request.dataを出力するデバッグステートメントを追加しました。
動作に最も近い jquery クエリは次のとおりです。
$.ajax({
url:'api/menu',
type:"POST",
contentType:"binary/octet-stream",
data:{name:'foo'}});
{'name':'foo'} の場合、request.data に「name=foo」が割り当てられます。
コンテンツ タイプ application/json、binary/octet-stream に対して (contentType: "application/json", dataType: "json") のすべての順列を試しましたが、他のすべての場合、データは空白で、request.form は不変の辞書。
私が行方不明であることは明らかですか?