クッキーの問題を運ぶためにどのようにVUEのget /ポスト要求

A:

main.jsでこれを書くために、コードの3行のみ

「axios」からインポートaxios

axios.defaults.withCredentials =真; //は、Ajaxキャリークッキーを作ります

Vue.prototype $ Axios = axios。

クッキー彼はエラーの着陸を表示するように要求に応答する際に、過去の言葉を伝えないのヨを有効期限が切れた場合は!

クッキーの方法を運ぶ方法ネイティブJSで:

            xhrFields:{
               withCredentials:真
            }

上記のコードの切れ端で
出所:https://blog.csdn.net/liuxin_1991/article/details/81531321

 

:私たちはVUE要求を使用すると、我々は要求が担保に最初のクッキーを運ばないことがわかります、私たちは、次のコード要求追加することができます
vue.http.options.xhr = {withCredentialsを:trueに};  ロールがクロス許可されていますリクエストは、認証Cookieが行う運び;
vue.http.options.emulateJSON = trueに、  役割は、Webサーバー、アプリケーション/ JSON要求を処理できない場合、我々はemulateJSONオプションを有効にすることができますで、
このオプションが有効になって、リクエストになります アプリケーション/ X-WWW -体、URLエンコード  MIMEタイプとして、通常のHTMLフォームと同じ。、次のコードを追加します返された要求コードを取得
クッキーを運ぶのが、ポストはしません。

利便性のために、私たちはここにいるパラメータを追加するにはGETリクエスト限り、GETリクエストをカプセル化{資格情報を:真}使用することができます。

CONST ajaxGet =(URL、FN)=> { 
  せ結果 = NULL ; 
  Vue.http。取得(URL、{クレデンシャルを: })。次に、((応答)=> {
     場合(response.ok){ 
      結果 = response.body; 
      FN(1 結果); 
    } { 
      FN(0 、結果); 
    } 
  }、(エラー) => {
     場合(エラー){ 
      FN(0 、結果); 
    } 
  })。
}。

それだけで取得するようリクエストがクッキーを運ぶが、ポストの要求は全く効果は、ポスト要求ので、私たちは、次のコードを追加する必要があります。

Vue.http.interceptors.push((リクエスト、次)=> { 
  request.credentials = trueを
  次の(); 
});

Vue.http.interceptorsはインターセプタの役割は、クッキーを運ぶの問題を解決することができる上記のコードPOSTリクエストと一緒に、要求の前と後に何らかの処理を行うと、要求を送信することである。
したがって、私たちのポストの要求も、それをカプセル化コードは、ポストリクエストの上記の問題に追加されるクッキーを運び、次のコード。

CONST ajaxPost =(URL、paramsは、オプション、FN)=> { 
  せ結果 = NULL ; 

  もしtypeof演算オプション=== ' 機能' && arguments.lengthを<= 3 ){ 
    FN = オプション。
    オプション = {}; 
  } 
  Vue.http.interceptors.push((リクエスト、次) => { 
    request.credentials = trueを
    次の(); 
  }); 
  Vue.http.post(URL、paramsは、オプション).then((応答)=> {
     もし(response.ok){ 
      結果 = response.body。
      FN(1 結果)。
    } { 
      FN(0 、結果)。
    } 
  }、(エラー) => {
     場合(エラー){ 
      FN(0 、結果)。
    } 
  })
}。

出典:https://www.cnblogs.com/tugenhua0707/p/8923177.html

おすすめ

転載: www.cnblogs.com/huchong-bk/p/12122934.html