iview中,axios怎么配置和封装,又如何调用?

发布于 2022-09-06 23:52:50 字数 404 浏览 8 评论 0

默认的util.js配置看不太懂,本人刚接触iview。


const ajaxUrl = 'http://192.168.1.230:8080/nis-service/'
这里配置了ajax前缀
util.ajax = axios.create({baseURL: ajaxUrl,timeout: 30000});
这里进行axios配置,如何调用?
我现在是直接修改vue原型链,感觉这并不是iview作者的原意,想知道应该怎么调用?
axios.defaults.baseURL = ajaxUrl;
Vue.prototype.$ajax = axios;


还有在util.js文件中如何封装?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

樱花落人离去 2022-09-13 23:52:50

摸索了几天,基本会用了,在这里抛砖引玉了。

配置ajaxUrl,前缀地址

const ajaxUrl = env === 'development' ?
    'http://192.168.1.230:8080/nis-service/' ://开发地址
    env === 'production' ?
    'https://www.url.com' ://发布地址
    'https://debug.url.com';//debug地址

三元选择符,配置在build/env.js中

export default "development";//development开发模式,production发布模式

配置util.ajax里的参数

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中创建自己的方法,以post为例

util.post = function (url, data) {
    return util.ajax({
        url,//请求地址,会加上配置的前缀地址
        method: 'post',//请求类型
        data:qs.stringify(data,{ arrayFormat: "repeat" })//这里用qs处理数据,数组转成不带下标
    })
    .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 => {
});

如果您有更好的封装或使用方法,请您不吝赐教,路过的大神请轻拍。

来世叙缘 2022-09-13 23:52:50

不错,学习啦

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文