vue项目中mock数据get请求参数接收问题以及常规post参数写法

1.1前端vue组件内写法

this.$axios({
method:"get",
url:"/news/index",
data:{
product_type:'product'
}
}).then((res)=>{
//请求成功返回的数据
console.log(res);
this.newsListShow = res.data.data.datalist;
this.product_type=res.data.data.product_type;
})

 

1.2.mock.js写法

Mock.mock("/api/news/index", "get", (options) =>{
// 最佳实践,将请求和参数都打印出来,以便调试A
let item=JSON.parse(options.body)
let articles = [];
for (let i = 0; i < 100; i++) {
   let newArticleObject = {
     title: Random.csentence(5, 30), // Random.csentence( min, max )
    thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
    author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
    date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
 }
articles.push(newArticleObject)
}
return {
   result: 0,
  data: {
  datalist: articles,
  product_type:item.product_type
}
}
});

 

2.1前端post写法

this.$axios.post('/news/login',{"username":"kangkang","password":'xmyfsj0821'}).then(res => {
  console.log(res);
  this.username = res.data.data.username;
});

2.2 mock.js写法

const loginData = function (req) {
   const {username} = JSON.parse(req.body)
  if(username=='xmyfsj'){
    return {
         result: 200,
        data: {
           uid:Random.id(),
           type: 1,
           username:username,
           expire_in: "63666",
           token: Random.guid(),
           logintime: Random.now()
        }
   }
}else{
return {
    result: 0,
   data: {
     uid:Random.id(),
     type: 1,
     username:username,
     expire_in: "63666",
     token: Random.guid(),
     logintime: Random.now()
      }
    }
  }
}

Mock.mock('/api/news/login', 'post', loginData);

posted @ 2019-12-27 18:53  热心市民~菜先生  阅读(7688)  评论(0编辑  收藏  举报