ログインに成功した時、デザインのフロントエンドによってはトークンを取得します、我々は毎回要求を開始したリクエストヘッダにこのトークンを取る必要がある、あなたは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コメント、上記の問題と同じであるだろう。