用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)
        })
}




浏览器的返回:






图片描述
图片描述

阅读 8.6k
2 个回答

你post方法里面定义了config,return出来的你用this.config;两个不是一个config,而且错误提示也提示了config没有被用到

你的return axios.post(url, data, this.config)中的this.config 可能 和你 期望的使用post内部定义的config变量不是一个东西。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题