vue中使用mockjs简单返回数据、包括get,post请求

2 篇文章 0 订阅

安装

npm install mockjs

在src文件下

1、创建mock文件夹 在mock文件夹下
2、创建json文件 并在json文件夹下创建index.json
3、在mock文件下创建mock.js文件

在mian.js文件中引用mock.js

  import "./mock/mock.js";

mock.js文件中的内容

import Mock from 'mockjs'
    Mock.setup({
         timeout: 500 //设置一个延迟时间虚拟服务器响应效果
     })
    Mock.mock('/getList', 'get', require('./json/index.json'))
    Mock.mock('/api/addgoods', 'post', function (option) {
    var $name=JSON.parse(option.body).name;
    if($name){
      return Mock.mock({
        status: 200,
        message: '提交成功!!!'
      })
  }else{
    return Mock.mock({
        status: 400,
        message: '未提交参数'
      })
    }
  })

index.json文件中的内容

{

   "retcode": "0000",

  "retmsg": "成功",

  "data": [

    {

      "tabId": 1,

      "tabShowName": "推荐",

      "tabName": "recommend"

    },

    {

      "tabId": 2,

      "tabShowName": "7×24",

      "tabName": "7x24"

    },

    {

      "tabId": 3,

      "tabShowName": "观点",

      "tabName": "opinion"

    }

  ]

发送请求并获取数据此处用的是axios

方式一:发送get请求
 this.$axios.get('/getList').then((res)=>{
        console.log(res)
    })
方式二:发送post请求
 var  data={

        name:"张三"

      }

  this.$axios.post("/api/addgoods",data).then(res=>{

        console.log(res,"MOCK __ POST")

  })

附上官网链接

https://github.com/nuysoft/Mock/wiki

目录结构

在这里插入图片描述

完结😁

下面是一个使用 Vue.js 和 Mock.js 实现新增、编辑和删除表格数据的示例。 首先,确保你已经安装了 Vue.js 和 Mock.js。然后,创建一个 Vue 组件,包含一个表格和相应的按钮用于新增、编辑和删除数据。 HTML 模板代码如下: ```html <div id="app"> <table> <thead> <tr> <th>Name</th> <th>Age</th> <th>Email</th> <th>Action</th> </tr> </thead> <tbody> <tr v-for="(item, index) in items" :key="index"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.email }}</td> <td> <button @click="editItem(index)">Edit</button> <button @click="deleteItem(index)">Delete</button> </td> </tr> </tbody> </table> <form @submit.prevent="addItem" v-show="showForm"> <input type="text" v-model="formData.name" placeholder="Name"> <input type="number" v-model="formData.age" placeholder="Age"> <input type="email" v-model="formData.email" placeholder="Email"> <button type="submit">Add</button> </form> <button @click="showForm = true">Add New</button> </div> ``` JavaScript 代码如下: ```javascript // 引入 Mock.js 库 const Mock = require('mockjs'); // 使用 Mock.js 拦截 AJAX 请求返回随机数据 Mock.mock('/api/items', 'get', { 'items|5-10': [{ 'name': '@cname', 'age|18-60': 0, 'email': '@email' }] }); // 创建 Vue 实例 new Vue({ el: '#app', data() { return { items: [], showForm: false, formData: { name: '', age: '', email: '' }, editingIndex: -1 }; }, mounted() { // 发送 AJAX 请求获取表格数据 this.fetchItems(); }, methods: { fetchItems() { // 模拟发送 AJAX 请求 axios.get('/api/items') .then(response => { this.items = response.data.items; }) .catch(error => { console.error(error); }); }, addItem() { // 模拟发送 AJAX 请求 axios.post('/api/items', this.formData) .then(() => { this.fetchItems(); this.resetForm(); }) .catch(error => { console.error(error); }); }, editItem(index) { this.editingIndex = index; this.formData = { ...this.items[index] }; this.showForm = true; }, updateItem() { // 模拟发送 AJAX 请求 axios.put(`/api/items/${this.editingIndex}`, this.formData) .then(() => { this.fetchItems(); this.resetForm(); }) .catch(error => { console.error(error); }); }, deleteItem(index) { // 模拟发送 AJAX 请求 axios.delete(`/api/items/${index}`) .then(() => { this.fetchItems(); }) .catch(error => { console.error(error); }); }, resetForm() { this.formData = { name: '', age: '', email: '' }; this.editingIndex = -1; this.showForm = false; } } }); ``` 在上述代码,我们使用 Mock.js 来拦截 `/api/items` 的 GET 请求,并返回随机生成的数据。你可以根据需要修改这个接口的 URL 和响应数据。 注意,在实际的项目,你需要使用真实的后端 API 来处理新增、编辑和删除数据请求,并更新前端的表格数据。这里的代码只是一个简单的示例,使用 Mock.js 模拟这些操作。 当你运行这个示例时,你将看到一个包含表格和按钮的界面。点击 "Add New" 按钮将显示一个表单,你可以在表单输入数据并点击 "Add" 按钮来新增一行数据。点击表格的 "Edit" 按钮可以编辑对应行的数据,点击 "Delete" 按钮可以删除对应行的数据。 请注意,示例使用的是 Mock.js 来模拟 AJAX 请求返回随机数据,实际项目需要替换成真实的后端接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值