vue中使用axios提交参数要注意的地方(post方法后台获取不到参数的解决方法)...

handleModifyStatus(row, status) {

console.log("进入方法1")

let userId = row.userid

deleteUser({userId}).then(()=>{

console.log("进入删除方法2")

})

 

这是一个删除一条信息记录的vue前端提交数据写法,要注意这一句:

 

let userId = row.userid

deleteUser({userId}).then(()=>{

 

 

也可以写成:deleteUser(row.userid).then(),但是这样写userId就只是把值传递到后台了,但是就像键值对没有键一样,这时候传递到后台的键就会是他们自己创建的类似于:

/user/deleteUser?0=54这样的,这个54的键值是0,而后台参数是userId,所以后台就不能得到正确的参数,但是想上面那样,把row.userid赋值给userId,然后用大括号放在方法中,后台就能得到值了,要注意你去储存row.userid的变量要和后台方法中的形参一样。

 

 

关于vue中参数提交的问题:

参数用params提交

export function getPermission(token) {//登陆后自动执行这个方法,获取用户权限,这里的token我们传的是userid

return request({

url: '/user/info',

method: 'get',

params:  token 

})

}

 

 参数用data提交

export function getPermission(token) {//登陆后自动执行这个方法,获取用户权限,这里的token我们传的是userid

return request({

url: '/user/info',

method: 'get',

data:  token 

})

}

 

参数用params提交,不管提交方法是‘get’还是‘post’都是以url?参数1&参数2 的形式提交的

参数用data提交,如果参数有多个键值对,axios就会自动转换为json格式的参数,此时如果用post就不会在url后面带参数,但是后台没法正常接收json值,这里说两种方法解决:

1qs.stringfy()去转化一下data这样到后台就不会是json格式的数据,

2后台方法上加上@ResqustBody这样就能接收json值

转载于:https://www.cnblogs.com/shendaxia1/p/10768042.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值