在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ iview中,axios怎么配置和封裝,又如何調(diào)用?

iview中,axios怎么配置和封裝,又如何調(diào)用?

默認(rèn)的util.js配置看不太懂,本人剛接觸iview。


const ajaxUrl = 'http://192.168.1.230:8080/nis-service/'
這里配置了ajax前綴
util.ajax = axios.create({baseURL: ajaxUrl,timeout: 30000});
這里進(jìn)行axios配置,如何調(diào)用?
我現(xiàn)在是直接修改vue原型鏈,感覺這并不是iview作者的原意,想知道應(yīng)該怎么調(diào)用?
axios.defaults.baseURL = ajaxUrl;
Vue.prototype.$ajax = axios;


還有在util.js文件中如何封裝?

回答
編輯回答
寫榮

不錯,學(xué)習(xí)啦

2017年10月14日 20:00
編輯回答
淺時光

摸索了幾天,基本會用了,在這里拋磚引玉了。

配置ajaxUrl,前綴地址

const ajaxUrl = env === 'development' ?
    'http://192.168.1.230:8080/nis-service/' ://開發(fā)地址
    env === 'production' ?
    'https://www.url.com' ://發(fā)布地址
    'https://debug.url.com';//debug地址

三元選擇符,配置在build/env.js中

export default "development";//development開發(fā)模式,production發(fā)布模式

配置util.ajax里的參數(shù)

util.ajax = axios.create({
    baseURL: ajaxUrl,//前綴地址
    timeout: 30000,//超時時間
    headers: {//請求頭
        "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
    }
});

在util.js文件中引入qs

import qs from 'qs';

在util.js中創(chuàng)建自己的方法,以post為例

util.post = function (url, data) {
    return util.ajax({
        url,//請求地址,會加上配置的前綴地址
        method: 'post',//請求類型
        data:qs.stringify(data,{ arrayFormat: "repeat" })//這里用qs處理數(shù)據(jù),數(shù)組轉(zhuǎn)成不帶下標(biāo)
    })
    .then(response => {//成功
        console.log(response);
        return response;
    })
    .catch(error => {//失敗
        console.log(error);
        return error;
    });
}

在需要使用的組件里引入util.js。

import util from "../../../libs/util.js";

直接使用就可以了

util.post("url",{
  key;value
})
.then(response => {
})
.catch(error => {
});

如果您有更好的封裝或使用方法,請您不吝賜教,路過的大神請輕拍。

2018年8月9日 01:40