国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

Vux+Axios攔截器增加loading的問題及實現(xiàn)方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:04:08
文檔

Vux+Axios攔截器增加loading的問題及實現(xiàn)方法

Vux+Axios攔截器增加loading的問題及實現(xiàn)方法:很多時候,我們在頁面使用Ajax刷新時候,會希望它出現(xiàn)loading的圖標(biāo),讓用戶體驗更好一些。那么如果我們每次在Axios里面進(jìn)行請求,都要顯示loading圖標(biāo)的話,那么沒有一個全局的方法的話,勢必會造成代碼冗余的問題。有什么方法可以實現(xiàn)這個方法呢? 這里,
推薦度:
導(dǎo)讀Vux+Axios攔截器增加loading的問題及實現(xiàn)方法:很多時候,我們在頁面使用Ajax刷新時候,會希望它出現(xiàn)loading的圖標(biāo),讓用戶體驗更好一些。那么如果我們每次在Axios里面進(jìn)行請求,都要顯示loading圖標(biāo)的話,那么沒有一個全局的方法的話,勢必會造成代碼冗余的問題。有什么方法可以實現(xiàn)這個方法呢? 這里,

很多時候,我們在頁面使用Ajax刷新時候,會希望它出現(xiàn)loading的圖標(biāo),讓用戶體驗更好一些。那么如果我們每次在Axios里面進(jìn)行請求,都要顯示loading圖標(biāo)的話,那么沒有一個全局的方法的話,勢必會造成代碼冗余的問題。有什么方法可以實現(xiàn)這個方法呢?

這里,我們就要用到Axios的請求攔截器與相應(yīng)攔截器了

首先,我們在請求攔截器里面增加一個VUX的loading組件

axios.interceptors.request.use(
config => {
//請求攔截器,調(diào)用loading插件
// 顯示loading
// 判斷是否重復(fù)提交請求,也就是loading是否還存在,如果存在則不顯示新的loading
let isShow = window.app.$vux.loading.isVisible()
if(!isShow&&config.showLoading){
 window.app.$vux.loading.show({
 text: 'Loading'
 })
}
config.data = JSON.stringify(config.data);
config.headers = {
 'Content-Type': 'application/json',
}
return config;
},
error => {
return Promise.reject(err);
}
);

整個數(shù)據(jù)里面,我們看到了里面有一個參數(shù)是$vux.loading.isVisible()這個。這個是vux自帶的一個loading狀態(tài)顯示的參數(shù)。如果loading正在顯示的話,它會是true,否則的話就顯示false

因為我們不希望同時有多個請求的時候,出現(xiàn)多個loading狀態(tài),這樣的話用戶看起來會很迷茫,所以我們在調(diào)用的時候,先判斷一下這個狀態(tài)。

然后在響應(yīng)攔截器里面關(guān)掉它就好了

下面通過實例代碼介紹下vue中使用axios

1.安裝axios

npm:

$ npm install axios -S

cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

2.配置axios

在項目中新建api/index.js文件,用以配置axios

api/index.js

import axios from 'axios';
let http = axios.create({
 baseURL: 'http://localhost:8080/',
 withCredentials: true,
 headers: {
 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
 },
 transformRequest: [function (data) {
 let newData = '';
 for (let k in data) {
 if (data.hasOwnProperty(k) === true) {
 newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&';
 }
 }
 return newData;
 }]
});
function apiAxios(method, url, params, response) {
 http({
 method: method,
 url: url,
 data: method === 'POST' || method === 'PUT' ? params : null,
 params: method === 'GET' || method === 'DELETE' ? params : null,
 }).then(function (res) {
 response(res);
 }).catch(function (err) {
 response(err);
 })
}
export default {
 get: function (url, params, response) {
 return apiAxios('GET', url, params, response)
 },
 post: function (url, params, response) {
 return apiAxios('POST', url, params, response)
 },
 put: function (url, params, response) {
 return apiAxios('PUT', url, params, response)
 },
 delete: function (url, params, response) {
 return apiAxios('DELETE', url, params, response)
 }
}

這里的配置了POST、GET、PUT、DELETE方法。并且自動將JSON格式數(shù)據(jù)轉(zhuǎn)為URL拼接的方式

同時配置了跨域,不需要的話將withCredentials設(shè)置為false即可

并且設(shè)置了默認(rèn)頭部地址為:http://localhost:8080/,這樣調(diào)用的時候只需寫訪問方法即可

3.使用axios

注:PUT請求默認(rèn)會發(fā)送兩次請求,第一次預(yù)檢請求不含參數(shù),所以后端不能對PUT請求地址做參數(shù)限制

首先在main.js中引入方法

import Api from './api/index.js';
Vue.prototype.$api = Api;

然后在需要的地方調(diào)用即可

this.$api.post('user/login.do(地址)', {
 "參數(shù)名": "參數(shù)值"
}, response => {
 if (response.status >= 200 && response.status < 300) {
 console.log(response.data);\\請求成功,response為成功信息參數(shù)
 } else {
 console.log(response.message);\\請求失敗,response為失敗信息
 }
});

總結(jié)

以上所述是小編給大家介紹的Vux+Axios攔截器增加loading的問題及實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Vux+Axios攔截器增加loading的問題及實現(xiàn)方法

Vux+Axios攔截器增加loading的問題及實現(xiàn)方法:很多時候,我們在頁面使用Ajax刷新時候,會希望它出現(xiàn)loading的圖標(biāo),讓用戶體驗更好一些。那么如果我們每次在Axios里面進(jìn)行請求,都要顯示loading圖標(biāo)的話,那么沒有一個全局的方法的話,勢必會造成代碼冗余的問題。有什么方法可以實現(xiàn)這個方法呢? 這里,
推薦度:
標(biāo)簽: 的問題 loading 攔截器
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 99精品国产免费久久国语 | 日韩不卡手机视频在线观看 | 亚欧日韩| 国产成人精品一区二区三区 | 欧美日韩在线一区 | 国产午夜在线观看 | 在线播放一区二区三区 | 国产精品va一级二级三级 | 国产欧美日韩在线 | 欧美日韩国产在线人 | 欧美一区二区视频 | 欧美综合在线观看 | 亚洲欧美日韩中文字幕在线不卡 | 亚洲一区日韩 | 波多野结衣免费在线 | 一区欧美 | 天堂va欧美ⅴa亚洲va一国产 | 不卡国产视频 | 另类第一页 | 日韩色在线 | 中文字幕日韩有码 | 亚洲欧美综合视频 | 国产精品激情综合久久 | 97久久综合区小说区图片专区 | 久久国产一级毛片一区二区 | 99精品国产成人一区二区 | 久久亚洲伊人中字综合精品 | 一边摸一边叫床一边爽 | 欧美va免费精品高清在线 | 亚洲欧美国产日本 | 伊人久久亚洲综合天堂 | 日韩精品一区二区三区四区 | 99久久精品国产一区二区成人 | 欧美日韩成人高清色视频 | 亚洲图片在线观看 | 国产精品欧美亚洲韩国日本不卡 | 国产午夜视频在线观看 | 亚洲一区二区免费 | 天码毛片一区二区三区入口 | 精品欧美一区二区三区 | 欧美综合自拍亚洲综合百度 |