axios 统一配置参数,为什么无效?

https://img2.mukewang.com/5cab083c0001784f08000318.jpg

希望无论是get还是post请求,都会携带userID信息。所以就把post请求的统一参数写在了config.data里,get的统一参数写在了get里。
但是!!问题来了, ...config.params 并不会合并参数。
具体代码如下。

Axios.interceptors.request.use(

    (config) => {

        if ( config.method === 'post' ) {

            if (sessionStorage.getItem('fwqAdmin')) {

                config.data = querystring.stringify({

                    userId: JSON.parse(sessionStorage.getItem('fwqAdmin')).userId,

                    ...config.data

                });

                console.log(config);

            }

        } else if ( config.method === 'get' ) {

            if (sessionStorage.getItem('fwqAdmin')) {

                config.params = {

                    userId: JSON.parse(sessionStorage.getItem('fwqAdmin')).userId,

                    ...config.params

                };

            }

        }

        config.headers.Authorization = sessionStorage.getItem('fwqAdmin') ? JSON.parse(sessionStorage.getItem('fwqAdmin')).accessToken : '';

        return config;

    },

    error => {

        console.log(error);

        return Promise.reject('请求拦截报错信息' + error);

    }

);

具体使用:


requestWxList() {

    let params = {

        pageNum: this.pageNav.curPage,

        pageSize: this.pageNav.pageSize

    };

    this.$http.get('/result/listSummarysPage',params)

        .then((res) => {

            console.log(res);

            this.tableData = res.data.data.items;

            this.pageNav.total = res.data.data.total;

        })

        .catch((err) =>{

            console.log(err);

        });

},


慕码人2483693
浏览 1611回答 3
3回答

慕容3067478

给你看一下axios源码 get请求的第二个参数是config你把params当成config传进去 config.params 并没有值

德玛西亚99

应该这样调用 this.$http.get('/result/listSummarysPage',{ params: params })

梦里花落0921

楼上的老哥们已经给出了正确的答案,但是只能采纳一个答案,抱歉了... 希望答案能帮助后来的人。。 谢谢各位
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript