1

ボトル Web サーバーがあり、jQuery を使用して json を使用して ajax リクエストを実行していますが、一方が送信されていないか、もう一方が受信されていません。どちらかわかりません。私のコードは基本的にこれです:

サーバー.py

@route("/jsontest", method="POST")
def jsontest():
  print(request.json)

常に None を出力します。リクエストはもちろん通過しますが、データを受信して​​いないようです。

JavaScript

$.post("/jsontest", {username: $loginName}, login_success)

JavaScript はボタンを押すとトリガーされ、loginName は入力ボックスから取得されます。js で console.log($loginName) を実行して、実際に適切に選択されていることを確認したので、その 1 つの jQuery 呼び出しに問題があるか、データを適切に読み取っていないと想定していますサーバーエンド。どちらも非常にシンプルでわかりやすいように見えるので、何が欠けているのかわかりません。

4

3 に答える 3

6

$curl を使用してボトル メソッドをテストできます。

curl -i -H "Content-Type: application/json" -X POST -d '{"UserName":"name","Password":"password"}' http://hostname/jsontest

これで、次の方法でリクエスト データを印刷できます。
print request.json

于 2015-08-11T20:48:23.523 に答える
0

json として POST する必要があります。

$.post("/jsontest", JSON.stringify({username: $loginName}), login_success)

于 2013-11-17T14:56:49.933 に答える