transformRequestを使用して機能した後、異常ポストaxios

  ログインに成功した時、デザインのフロントエンドによってはトークンを取得します、我々は毎回要求を開始したリクエストヘッダにこのトークンを取る必要がある、あなたはaxiosのtransformDataアレイによってこれを達成することができます。この関数のアレイを設定した後、ヘッド内の全てのリクエストヘッダをトークンもたらすことができるが、全てのPOSTリクエストは例外を返し、バックエンド戻りJSON解像度は、実際に書き込まれたペイロードPOST要求の要求の観点から、クロム発見要求を失敗します[オブジェクトのオブジェクト]

  オリジナルaxiosは、関数配列transformRequest要件の戻り値を持つ文字列でなければなりません、それは自分自身のオブジェクトの書き込みだった場合、いるFormDataまたは他のバッファは、もちろん、[オブジェクトオブジェクト]を識別するために処理されません。以下の機能のアノテーションののGitHub axios:

// それがサーバーに送信される前に`transformRequest`が要求データへの変更を可能にする
  // これはリクエストメソッド「PUT」、「POST」、「PATCH」と「削除」にのみ適用されます
  // 配列の最後の機能、文字列またはバッファー、ArrayBufferのインスタンスを返す必要があります
  // いるFormDataまたはストリーム
  // あなたはヘッダオブジェクトを変更することがあります。
  transformRequest:[ 機能(データ、ヘッダ){
     // あなたはデータを変換したいものは何でも

    戻り値のデータ。
  }]、

 

回避策:transformRequest文字列変換機能は、データの前に配列を返します。

transformRequest:[
        (data, headers) => {
            //处理header token
            ヘッダー[ '機関'] = 'トークンXXXX'

            リターンJSON.stringify(データ)
        }
    ]

 

あなただけのtransformRequestを[]書いた場合なお、それは特定の機能を定義していない、要求はJSONに送信され、うまく出て、このtransformRequestコメント、上記の問題と同じであるだろう。

おすすめ

転載: www.cnblogs.com/wurijie/p/12460944.html