用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)
})
}
浏览器的返回:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你post方法里面定义了config,return出来的你用this.config;两个不是一个config,而且错误提示也提示了config没有被用到
你的
return axios.post(url, data, this.config)
中的this.config
可能 和你 期望的使用post
内部定义的config
变量不是一个东西。