用axios调用后台接口时,baseurl自己变成了localhost,怎么改呢

我的axios函数:

import axios from 'axios'

import Qs from 'qs'

export default {


post: function (url, data) {

    axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

    let config = {

        //请求的接口,在请求的时候,如axios.get(url,config);这里的url会覆盖掉config中的url

        url: url,


        // 请求方法同上

        method: 'post', // default

        // 基础url前缀

        baseURL: 'https://39.104.91.74:8080/',


        transformRequest: [function (data) {

            // 这里可以在发送请求之前对请求数据做处理,比如form-data格式化等,这里可以使用开头引入的Qs(这个模块在安装axios的时候就已经安装了,不需要另外安装)

             data = Qs.stringify({});

             return data;

             console.log(data)

        }],


        transformResponse: [function (data) {

            // 这里提前处理返回的数据


            return data;

        }],


        // 请求头信息

        headers: {

            'Authorization': sessionStorage.obj,

            'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'

        },


        //parameter参数

        params: {

            timestamp: Date.parse(new Date()) / 1000

        },


        withCredentials:true,


        //post参数,使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象,否则会报错

        data: data,


        //设置超时时间

        timeout: 5000,

        //返回数据类型

        responseType: 'json', // default

    }

    return axios.post(url, data, this.config)

}

}


在页面的接口调用:


selectpriceDate =()=>{


    let url="api/notice/list"

    let form={

        pageNo: "1",

        pageSize: "12",

        type:null

    }

    ajax.post(url, form)

        .then(function (res) {

            console.log(res)

        })

        .catch(function (err) {

            console.log(err)

        })

}

浏览器的返回:

https://img1.mukewang.com/5ca80df600015b6108000454.jpg

https://img3.mukewang.com/5ca80df70001f2b605600161.jpg


繁星点点滴滴
浏览 3830回答 2
2回答

明月笑刀无情

你post方法里面定义了config,return出来的你用this.config;两个不是一个config,而且错误提示也提示了config没有被用到
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript