ホームページ  >  記事  >  ウェブフロントエンド  >  axios ログインリクエストインターセプタ

axios ログインリクエストインターセプタ

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-08 14:37:283083ブラウズ

今回は axios ログイン リクエスト インターセプターについて説明します。 axios ログイン リクエスト インターセプターを実装する際の 注意事項 は何ですか? 以下は実際的なケースです。

ログインタイムアウトを判断するときなど、インターフェイスリクエストを行うとき、インターフェイスは通常、時間と労力を要する各インターフェイスを判断する場合、インターセプターを使用してそれを行うことができます。 http リクエストのインターセプト。

1. axios をインストールして設定します

cnpm install --save axios 

この統合処理を行うための js ファイルを作成し、次のように新しい axios.js を作成します

import axios from 'axios' 
import { Indicator } from 'mint-ui'; 
import { Toast } from 'mint-ui'; 
// http request 拦截器 
axios.interceptors.request.use( 
  config => { 
    Indicator.open() 
    return config; 
  }, 
  err => { 
    Indicator.close() 
    return Promise.reject(err); 
  }); 
// http response 拦截器 
axios.interceptors.response.use( 
  response => { 
    Indicator.close() 
    return response; 
  }, 
  error => { 
    Indicator.close() 
  }); 
export default axios
次に、この js ファイルを main.js に導入します

import axios from './axio'; 
Vue.prototype.$axios = axios;
このようにして、axios を使用してリクエストすることができ、this.axios を使用してコンポーネント内でそれを呼び出すことができます

this.$axios({ 
    url:requestUrl+'homePage/v1/indexNewPropertiesResult', 
    method:'POST', 
   }).then(function(response){ //接口返回数据 
    console.log(response) 
    that.modulesArr=response.data.data.modules; 
//   that.getRecommendGoods(0); 
   });
axios を使用してインターフェースをリクエストするだけで、axios でインターセプトできるようになります。 js であり、2 つの状態にすることができます

で必要な操作を実行します: 追加:

axios はインターセプターを使用してすべての http リクエストを均一に処理します

axios はリクエストの前にインターセプターを使用します

または応答が then または catch によって処理されます。それらをインターセプトします。

•httpリクエストインターセプター

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
 }, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
 });

•httpレスポンスインターセプター

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response;
 }, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
 });

•インターセプターを削除

var myInterceptor = axios.interceptors.request.use(function () {/*...*/});
axios.interceptors.request.eject(myInterceptor);

•カスタムaxiosインスタンスのインターセプターを追加

var instance = axios.create();
instance.interceptors.request.use(function () {/*...*/});

あなたはマスターしたと思いますこの記事の事例を読んだ後は、PHP 中国語 Web サイトの他の関連記事にも注目してください。

推奨読書:

Vue プロジェクトを環境ごとにパッケージ化する方法

React で Vuex を使用するための具体的な手順

以上がaxios ログインリクエストインターセプタの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。