zoukankan      html  css  js  c++  java
  • 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值

  • 相关阅读:
    leetcode 111二叉树的最小深度
    leetcode 104. 二叉树的最大深度
    React简介,开发环境搭建,项目结构目录
    词典中最长的单词
    React export和export default的区别
    哈希表-两个数组的交集
    BFS-地图分析&岛屿数量
    js 下拉框实现去重 & layui可输入可搜索的下拉框
    BFS(找最短距离,最短路径)二叉树最小深度&打开转盘锁&对称二叉树
    python操作es增删改查
  • 原文地址:https://www.cnblogs.com/shendaxia1/p/10768042.html
Copyright © 2011-2022 走看看