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);