axios post封装对象到后端_Vue简单封装axios之解决post请求后端接收不到参数问题...

1.在src/下新建api文件夹,api/下新建index.js和public.js

在public.js中:

import axios from 'axios';

import qs from 'qs'

import router from '../router'

import { MessageBox} from 'mint-ui'

// 注意点,按照以下写

var instance = axios.create();

instance.defaults.timeout = 10000;

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

export default {

fetchGet(url, params = {}) {

return new Promise((resolve, reject) => {

axios.get(url, params).then(res => {

if(res.data.code === 302) {

MessageBox('提示', '登录失效,请重新登录');

MessageBox.alert('登录失效,请重新登录', '提示').then(action => {

router.push("/login");

});

}

resolve(res.data);

}).catch(error => {

reject(error);

})

})

},

fetchPost(url, params = {}) {

/*

axios post请求后端接收不到参数问题:

解决方案一:有效,但是兼容性不是很好,不是所有浏览器都支持

let data = new URLSearchParams()

for (var key in params) {

data.append(key, params[key])

}

*/

// 解决方案二:使用qs模块(axios中自带),使用qs.stringify()序列化params

return new Promise((resolve, reject) => {

axios.post(url, qs.stringify(params)).then(res => {

resolve(res.data);

}).catch(error => {

reject(error);

})

})

}

}

2.在index.js中:

import http from './public'

export const getStation = (params) => {

return http.fetchGet('/hydro/rest/getBelongUser', params);

}

export const userLogin = (params) => {

return http.fetchPost("/hydro/rest/login", params);

}

3.在Login.vue中调用post请求方法:

import {userLogin} from "../../api/index"

export default {

name: 'app',

data() {

return {

Username: "",

Password: ""

}

},

methods: {

toLogin() {

let params = {

username: this.Username,

password: this.Password

};

userLogin(params).then(res => {

if(res.code === 200) {

this.$router.push("/home")

}

})

}

}

}

#### 4.在Home.vue调用get请求方法

{{stationName}}

import {getStation} from "../../api/index"

export default {

data() {

return{

stationName: ""

}

},

created() {

getStation().then(res => {

this.stationName = res.msg;

})

}

}

总结

以上所述是小编给大家介绍的Vue简单封装axios之解决post请求后端接收不到参数问题,希望对大家有所帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值