バックエンドフラスコで使用するjQueryのAjaxのデータを交換します

次のようにバックエンドを使用した場合、最近のプロジェクトは、とにかくrequest.dataデータを取得していない転送を使用してフラスコに、jqueryのAjaxのデータをピットが発生し、コードは次のとおりです。

フロント:

<スクリプト> 
      関数チェックユーザー(){ 
          VAR usercookie = $ .cookie(" 検証" )。
          $アヤックス({ 
                URL:" http://127.0.0.1:5000/checkCookie " 
                種類:" POST " 
                データ:{ ' クッキー'' 123123 ' }、
                成功:機能(データ){ 
                    はconsole.log(データ); 
                }、
                エラー:関数(ERR){ 
                    にconsole.log("認証に失敗しました" ); 
                } 
            }); 
      }
 </ SCRIPT>

かどうかは、contentTypeの提供。ファイルアプリケーション/ JSON;のcharset = UTF-8 ' 、またはJSONを、次のコードでバックエンド・テスト・データを取得することが可能です。

@ app.route(' / checkCookie '、メソッド= [ ' POST ' ])
 DEF checkCookie():
    データ = request.data
     かのデータ:
         リターン " 成功"、200
     リターン " エラー"、400

しかし、場合request.data)(request.get_dataに、GETバイトパラメータに直接利用できるようになります:b'cookie = 123123」、複数のパラメータが渡され、= 123&Bとなります= 234このフォーム、それは我々が非常に面倒になりますそれらに対処したいものは確かではありません。だから、フォームの後半に入ることは非常に簡単にバックエンド処理であるので、フォームは、JSONに直接送信することができます。

フロント:

<スクリプト> 
      関数チェックユーザー(){ 
          VAR usercookie = $ .cookie(" 検証" )。
          UDATA = JSON.stringify({ " Uidの" :usercookie})。
          $アヤックス({ 
                URL:" http://127.0.0.1:5000/checkCookie " 
                種類:" POST " 
                contentTypeの:' アプリケーション/ JSON;のcharset = UTF-8 ' 
        データ:UDATA、
                成功:機能(データ){  
                    にconsole.log(データ)。
                }、 
                エラー:関数(ERR){ 
                    にconsole.log(" 認証失敗" ); 
                } 
            }); 
      }
 </ SCRIPT>

リア:

@ app.route(' / checkCookie '、メソッド= [ ' POST ' ])
 DEF checkCookie():
    データ = request.get_json()
     の場合のデータ:
         リターン " 成功"、200
     リターン " エラー"、400

この変更後、直接送信フロントエンドJSONデータの後端へのアクセス、及び方法は、直接データフォーマットのJSON get_jsonによって得ることができます()。

 

おすすめ

転載: www.cnblogs.com/soledadcat/p/12014402.html