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 、結果)。 } }) }。