前端vue2与后端接口的简单联调步骤

第一步

在控制台上安装axios  npm i axios

在main.js里写

import axios from "axios";

Vue.prototype.$axios = axios;

第二

打开Element - The world's most popular Vue UI framework

在控制台上安装npm i element-ui -S

在main.js里写

import ElementUI from 'element-ui';

import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

第三步

创建俩个包 utlis 和api(不确定谁便起)再在包里创文件夹 request.js  impus.js

第四步

在 request.js把axios调过来

import axios from "axios";
const request = axios.create({
    baseURL:"http://localhost:8083",
    timeout:5000
})

request.interceptors.request.use(
    (request) => {
        // let token = localStorage.getItem('token')
        // if (token) {
        //     console.log(request.headers);
        //     // 请求头携带token
        //     request.headers.Authorization = token;
        // }
        return request;
    },
    (error) => {
        Promise.reject(error);
    }
);
// 响应拦截器
// request.interceptors.response.use(
//     (response) => {
//         return response.data
//     },
//     (error) => {
//         Promise.reject(error);
//     }
// );
export default request;

baseURL:"http://localhost:8083",自己后端的端口号

 timeout:5000后端传给前端的时间

第五

impus.js里写的是接口

import create from "../utils/request"
    export function selectDisplay(data) {
        return create({
            url: "/api/ck",
            method: "post",
            changeOrigin: true,
            data: data
        })
    }

url:路径

method:请求方式

import create from "../utils/request"把request.js调过来

第六页面

<template>
  <div>
    <!-- 新增按钮 -->
    <el-button type="primary" @click="showAddDialog">新增用户</el-button>
-----------------------------------------------------------------------------------------
    <!-- 新增的表单框 -->
    <el-dialog title="新增用户信息" :visible.sync="addDialogVisible">
      <el-form :model="addForm">
        <el-form-item label="电话">
          <el-input v-model="addForm.phone" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>

      <div slot="footer" class="dialog-footer">
        <el-button @click="addDialogVisible = false">取消</el-button>
        <el-button type="primary" @click="addUser">确定</el-button>
      </div>
    </el-dialog>
-----------------------------------------------------------------------------------------

    <!-- 用户列表展示 -->
    <el-table :data="tableData" style="width: 100%">
      <el-table-column label="id" width="180">
        <template slot-scope="scope">
          <i class="el-icon-time"></i>
          <span style="margin-left: 10px">{{ scope.row.id }}</span>
        </template>
      </el-table-column>
-----------------------------------------------------------------------------------------
     <el-table-column label="手机号">
        <template slot-scope="scope">
          {{ scope.row.phone }}
        </template>
      </el-table-column>
-----------------------------------------------------------------------------------------
      <el-table-column label="操作">
        <template slot-scope="scope">
          <el-button size="mini" @click="showEditDialog(scope.row)">编辑</el-button>
          <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
-----------------------------------------------------------------------------------------
    <!-- 编辑用户表单框 -->
    <el-dialog title="编辑用户信息" :visible.sync="editDialogVisible">
      <el-form :model="editForm">
        <el-form-item label="电话">
          <el-input v-model="editForm.phone" autocomplete="off"></el-input>
        </el-form-item>
      </el-form>

      <div slot="footer" class="dialog-footer">
        <el-button @click="editDialogVisible = false">取消</el-button>
        <el-button type="primary" @click="editUser">确定</el-button>
      </div>
    </el-dialog>
--------------------------------------------------------------------------------------
  </div>
</template>

<script>
import { insert, selectDisplay, updateadd,hytrht} from '@/api/impus';

export default {
  data() {
    return {
---------------------------------------------------------------------------------------
      addForm: {//自己谁便起
        phone: ''
      },//新增的
-----------------------------------------------------------------------------------------
      editForm: {
        id: '',
        phone: ''
      },//修改的
----------------------------------------------------------------------------------------
      htry:{
      id:""
      },//删除
----------------------------------------------------------------------------------------
      tableData: [],//把数据库里的存在数组里
----------------------------------------------------------------------------------------
      addDialogVisible: false,
      editDialogVisible: false
    };
  },
  methods: {
----------------------------------------------------------------------------------------
   // 打开新增表单框
 showAddDialog() {
      this.addDialogVisible = true; 
    },
-----------------------------------------------------------------------------------------
    // 打开修改表单框
    showEditDialog(row) {  //showEditDialog和修改那个边框对应的名字
      this.editForm.id = row.id;//根据id修改
      this.editForm.phone = row.phone;//页面上的数据传到表单里然后进行修改数据
      this.editDialogVisible = true;// 打开表单框
    },
----------------------------------------------------------------------------------------

 // 新增用户
    addUser() {
      insert(this.addForm)//和路径对应得
        .then((res) => {
          console.log('新增成功');
          this.addDialogVisible = false; // 关闭表单框
          // this.refreshTable(); // 刷新表格数据
        })
        .catch((err) => {
          console.log('新增失败');
        });
    },
----------------------------------------------------------------------------------------
    // 编辑用户
    editUser() {
      updateadd(this.editForm)//调参数的时候要和data每个模块的一样
        .then((res) => {
          console.log(res);
          this.editDialogVisible = false; // 关闭对话框
        })
        .catch((err) => {
          console.log('修改失败');
        });
    },
----------------------------------------------------------------------------------------
    // 删除用户
    handleDelete(row) {
     this. htry.id = row.id;
     hytrht(this.htry).then((result) => {
      console.log("删除成功");
     }).catch((err) => {
      console.log("删除失败");
      
     });
    },
----------------------------------------------------------------------------------------
    // 数据库里查询的信息
    refreshTable() {//自定义的名
      selectDisplay({})//查询的要求//路径名
        .then((res) => {
          console.log(res);
          this.tableData = res.data; // 渲染到页面上
        })
        .catch((err) => {
          console.error(err);
        });
    }
  },
-----------------------------------------------------------------------------------------
  created() {//生命周期里的创造后
    this.refreshTable(); //渲染到控制台上
  }
}; created()和 methods: 同级
-----------------------------------------------------------------------------------------
</script>

<style>
</style>

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue3是一种流行的前端框架,用于构建单页面应用程序。当我们开发一个Vue3的前端应用时,需要与后端进行本地联调以验证数据交互的正确性。以下是Vue3前后端本地联调步骤: 1. 启动后端服务器:首先,我们需要启动后端服务器,以便Vue3应用可以通过API与后端进行数据交互。可以使用Node.js、Python等后端技术来启动服务器。 2. 配置接口地址:在Vue3应用的代码中,我们需要配置与后端服务器通信的接口地址。可以在Vue的配置文件(比如vue.config.js)或者变量文件中设置接口地址,这样前端应用就知道要与哪个后端服务器进行通信了。 3. 发送请求:在Vue3中,我们可以使用Axios、Fetch等工具来发送HTTP请求。在需要与后端进行数据交互的地方,我们可以使用这些工具发送API请求,并且传递相应的参数。比如,可以发送GET请求获取数据,或者发送POST请求提交数据。 4. 处理响应:一旦后端返回了响应,我们可以在Vue3应用中处理这些响应。可以根据返回的数据进行页面渲染、状态更新等。在Vue3中,我们可以使用响应式数据、计算属性等特性来管理和处理返回的数据。 5. 调试和测试:在联调过程中,我们可以使用浏览器的开发者工具来查看网络请求和响应。可以检查请求的参数和返回的数据是否符合预期。如果发现了问题,可以进行调试和修改代码,直到得到正确的数据交互结果。 通过以上步骤,我们可以完成Vue3前后端本地联调。这样可以验证数据的正确性,确保前后端的协作和功能的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值