ホームページ  >  に質問  >  本文

javascript - jqueryから送信されたjsonデータをflaskから受け入れるにはどうすればよいですか?

フラスコ アプリはフロント エンドから json データを受け入れますが、フラスコ リクエストはそれを正常に受け入れません。データが含まれておらず、多くの関数を変更した後でも機能しません。
jsコード

リーリー

フラスコ内の関数を表示:

リーリー

request.json が存在するかどうかのみを判断しますが、返される文字列は常に "error" です。 request.json には常に null が含まれます。その後、request.args.get()を変更しましたが、これも機能しませんでした。どこが間違っていたのでしょうか? アドバイスを心よりお願いいたします。

漂亮男人漂亮男人2711日前627

全員に返信(3)返信します

  • 高洛峰

    高洛峰2017-05-18 11:03:48

    答えを見つけました。それは単にjquery部分の問題でした。 $.ajax のパラメータ contentType のデフォルトは「application/x-www-form-urlencoded」です。このパラメータを application/json に設定する必要があります。

    リーリー

    参考: https://flask.readthedocs.io/...
    http://stackoverflow.com/ques...

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-18 11:03:48

    jqueryのajaxはデータ送信時にJSON.stringifyを必要とせず、自動的に処理されます。

    返事
    0
  • 迷茫

    迷茫2017-05-18 11:03:48

    あなたの説明によれば、問題が見つかったので、引き続き試してみるか、ドキュメントを読んでみてはいかがでしょうか

    リーリー

    結果を出力する

    リーリー

    request.json は非常に奇妙ですが、実際にはデータがありませんが、ここで役に立たない理由は次のとおりです。

    json MIME タイプが application/json の場合、これには解析された

    JSON データが含まれます。それ以外の場合は、代わりに get_json() メソッドを使用する必要があります。
    しかし、get_json() を使用すると、容赦なく AttributeError が報告されます。 : 「Request」オブジェクトには属性「get_json」がありません

    したがって、request.json は一度だけ使用して成功しましたが、再度成功することはありませんでした。これは魔法のようなものなので、request.json の代替手段を見つけられたら、お願いします。

    返事
    0
  • キャンセル返事