vue发起post请求,在mock.js中,如何获取axios发起的入参呢(内赋代码)?

发起请求

axios.post('/login',{
  username:'qqq'
}).then(r=>{
  console.log(r.data)
})

这个是mock的写法

import Mock from 'mockjs';

Mock.mock('/login',
    { //输出数据
        id: "@id()",//得到随机id ,对象
        'username|1-5': '姓名随机1-5次',//随机生成中午名字
        date: "@date()",//随机生成日期
        avater: "@image('200','red','#fff','avatar')",//生成图片参数
        description: "@paragraph()",//描述
        ip: "@ip()",//ip地址
        email: "@email()",//email
    },
    'post',
    (options)=>{
        let result = {};
        console.log(options)
        return result;
    }
);

我想在mock里获取请求中的username:'qqq',我该如何操作呢?现在这么写获取不到

阅读 1.7k
2 个回答

形参顺序写反了。。。。 这样写就解决问题了

Mock.mock('/login','post', (option)=>{
    console.log(option)
    return Mock.mock({
        id: "@id()",//得到随机id ,对象
        'username|1-5': '姓名随机1-5次',//随机生成中午名字
        date: "@date()",//随机生成日期
        avater: "@image('200','red','#fff','avatar')",//生成图片参数
        description: "@paragraph()",//描述
        ip: "@ip()",//ip地址
        email: "@email()",//email
    })
});

试试这样

import Mock from 'mockjs';
Mock.mock('/login','post',(options) => {
    console.log(options.body)
    const { username } = JSON.parse(options.body)
  return { //输出数据
      id: "@id()",//得到随机id ,对象
      username,
      date: "@date()",//随机生成日期
      avater: "@image('200','red','#fff','avatar')",//生成图片参数
      description: "@paragraph()",//描述
      ip: "@ip()",//ip地址
      email: "@email()",//email
    };
  }
);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题