SSMP整合案例第六步 在前端页面上利用axios和element-ui与后端交互实现增删改

简介: SSMP整合案例第六步 在前端页面上利用axios和element-ui与后端交互实现增删改

crud

CRUD(Create, Read, Update, Delete)是指数据存储和管理中最基本的操作。在软件开发中,特别是在数据库操作中,CRUD是一个常见的术语,用于描述对数据的基本操作:

  1. Create(创建):向数据库中创建新的记录或实体。这通常对应于数据库中的 INSERT 操作。
  2. Read(读取):从数据库中检索(或读取)现有的记录或实体。这对应于数据库中的 SELECT 操作。
  3. Update(更新):更新数据库中现有的记录或实体的信息。这对应于数据库中的 UPDATE 操作。
  4. Delete(删除):从数据库中删除现有的记录或实体。这对应于数据库中的 DELETE 操作。

这些操作是构成大多数应用程序数据管理和持久化的基础。在实际开发中,通常会使用各种技术栈来实现这些操作,例如:

  • 数据库操作语言:如SQL(对于关系型数据库)或NoSQL查询语言(对于非关系型数据库)。
  • ORM框架:如Hibernate、Spring Data JPA等,用于简化数据库操作和对象映射。
  • RESTful API:通过HTTP协议的POST(创建)、GET(读取)、PUT/PATCH(更新)、DELETE(删除)方法来实现CRUD操作。

在Web开发中,常见的应用场景包括用户管理、商品管理、文章管理等,这些都依赖于对数据进行CRUD操作来实现数据的持久化和管理。

如果你有具体的CRUD操作相关的问题或需要更详细的解释,请随时提出!

新增操作

正常我们都是从新增功能书写

查看源码

显示的是这个

在vue里面开下来

这样就能显示

点击确定

就能把数据发送到后台进行保存

 //弹出添加窗口
            handleCreate() {
                this.dialogFormVisible = true;
            },
 
            //重置表单
            resetForm() {
            },
 
            //添加
            handleAdd() {
                //绑定的是确定按钮 发起请求
                axios.post("/users", this.formData).then((res) => {
                    //判断当前操作是否成功
                    if (res.data.flag) {
                        //关闭弹层
                        this.dialogFormVisible = false;
                    }
                }).finally(()=>{
                    //重新加载页面
                    this.getAll();
                })
            },

给用户信息展示

//添加
handleAdd() {
    //绑定的是确定按钮 发起请求
    axios.post("/users", this.formData).then((res) => {
        //判断当前操作是否成功
        if (res.data.flag=true) {
            //关闭弹层
            this.dialogFormVisible = false;
            this.$message.success("人员数据添加成功");
        }else {
            this.$message.error("人员数据添加失败");
        }
    }).finally(()=>{
        //重新加载页面
        this.getAll();
    })
},

每次添加的时候都要清理数据

//弹出添加窗口
handleCreate() {
    this.dialogFormVisible = true;
    this.resetForm();
},
 
//重置表单
resetForm() {
    this.formData={};
},

不然数据就会一直留着

让取消按钮绑定功能

//取消
cancel() {
  //关闭弹窗
    this.dialogFormVisible = false;
  //消息提示
    this.$message.info("操作取消");
},

小结

设置数据库添加数据的时候主键自增

axios发送post请求

请求路径是/users

请求参数是this.formData

主要是异步调用

异步调用(Asynchronous Invocation)是指在编程中,某个操作可以在不阻塞当前线程或进程的情况下进行,这样可以提高程序的并发性和响应性能。

在传统的同步编程中,当程序执行一个操作时,会阻塞当前线程直到操作完成才继续执行下一步操作。这种方式在处理大量I/O密集型操作时效率较低,因为线程在等待操作完成时处于空闲状态。

异步调用的核心概念是,当一个操作发起后,程序不会等待操作完成再进行下一步,而是继续执行后续的操作。操作完成后,通过回调函数、事件通知或者Future/Promise等机制来处理操作的结果或状态。这样能够使程序在等待I/O操作完成时,可以继续处理其他任务,提高了程序的并发性和响应性。

异步调用在现代编程中非常常见,特别是在处理网络请求、数据库访问、GUI事件处理等场景下。常见的异步编程模型包括:

  1. 回调函数(Callback):操作完成后调用预定义的回调函数处理结果。
  2. 事件驱动模型(Event-driven):程序通过事件和事件处理器来响应异步操作的完成。
  3. Future和Promise:Future表示一个可能尚未完成的操作的结果,Promise用于设置操作完成后的结果。
  4. 异步/await:现代语言和框架如Python的asyncio、JavaScript的async/await等,提供了更直观和易于理解的异步编程方式。

异步调用可以显著提高程序的性能和响应速度,但也需要开发人员熟练掌握异步编程的相关概念和技术,以避免因并发操作引发的复杂性和错误。

删除操作

首先找入口

然后书写

// 删除
handleDelete(row) {
    axios.delete("/users/"+row.id).then((res)=>{
        if (res.data.flag) {
            this.$message.success("人员数据删除成功");
        }else {
            this.$message.error("人员数据删除失败");
        }
    }).finally(()=>{
        //重新加载页面
        this.getAll();
    });;
},

我们要加判定提醒

// 删除
handleDelete(row) {
    this.$confirm("此操作永久删除当前信息,是否继续?","警告",{type:"info"}).then(()=>{
        axios.delete("/users/"+row.id).then((res)=>{
            if(res.data.flag){
                this.$message.success("删除成功");
            }else{
                this.$message.error("删除失败");
            }
        }).finally(()=>{
            this.getAll();
        });
    }).catch(()=>{
        this.$message.info("取消操作");
    });
},

confirm加提醒

then是成功 catch是失败

修改操作 加载数据

修改功能就是一个列表功能加一个新增功能

首先我们要做的是列表 弹出数据

与上面的html代码进行了数据绑定

动态数据

如果访问此网页

别人修改然后你打不开了

所以我们要加一个flag的判定

//弹出编辑窗口
handleUpdate(row) {
    axios.get("/users/"+row.id).then((res)=>{
        if(res.data.flag && res.data.data !=null){
            this.dialogFormVisible4Edit=true;
            this.formData = res.data.data;
        }else{
            this.$message.error("数据同步失败,自动刷新")
        }
    }).finally(()=>{
        //刷新数据
       this.getAll();
    });
},

加载数据很关键

修改操作

数据加载上来了

接下来我们进行修改吧

查看静态页面弹层绑定的数据模型

绑定的数据模型是formData

与添加操作绑定的是一个数据模型

我们只需要改axios的请求方式和关闭哪个图层就行

//修改
handleEdit() {
    //与添加功能绑定的是一个数据模型
    //绑定的是确定按钮 发起请求
    axios.put("/users", this.formData).then((res) => {
        //判断当前操作是否成功
        if (res.data.flag) {
            //关闭弹层
            this.dialogFormVisible4Edit = false;
            this.$message.success("人员数据修改成功");
        }else {
            this.$message.error("人员数据修改失败");
        }
    }).finally(()=>{
        //重新加载页面
        this.getAll();
    });
},

为了方便我们统一书写弹层方法

cancel方法

小结

目录
相关文章
|
6天前
|
前端开发 API UED
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
28 2
|
2月前
|
前端开发 JavaScript API
解锁高效应用构建:Vuex与后端交互的前端状态同步策略,让数据流动如行云流水,紧跟前端开发的热点趋势
【8月更文挑战第27天】本文深入探讨了Vue框架下的前端状态管理库Vuex与后端服务交互时的状态同步策略。通过剖析Vuex的核心机制——状态(State)、变异(Mutation)、动作(Action)及模块(Module),文章展示了如何优雅地将后端数据加载并更新至前端状态中。特别地,借助示例代码解释了Action处理API调用、Mutation更新状态的过程,并介绍了如何通过模块化和命名空间提高状态管理的准确性和时效性。此外,还讨论了组件如何利用`mapState`和`mapActions`简化状态访问与操作的方法。遵循这些策略,开发者可以在构建复杂应用时显著提升性能与用户体验。
36 0
|
2月前
|
前端开发 JavaScript Serverless
中后台前端开发问题之通过低代码实现前后端交互如何解决
中后台前端开发问题之通过低代码实现前后端交互如何解决
35 0
|
2月前
|
前端开发 UED
中后台前端开发问题之中后台前端开发中的复杂交互问题如何解决
中后台前端开发问题之中后台前端开发中的复杂交互问题如何解决
28 0
|
9天前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
12 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
1月前
|
网络协议
keepalived对后端服务器的监测方式实战案例
关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。
37 1
keepalived对后端服务器的监测方式实战案例
|
2月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
1月前
|
前端开发 图形学 开发者
【独家揭秘】那些让你的游戏瞬间鲜活起来的Unity UI动画技巧:从零开始打造动态按钮,提升玩家交互体验的绝招大公开!
【9月更文挑战第1天】在游戏开发领域,Unity 是最受欢迎的游戏引擎之一,其强大的跨平台发布能力和丰富的功能集让开发者能够迅速打造出高质量的游戏。优秀的 UI 设计对于游戏至关重要,尤其是在手游市场,出色的 UI 能给玩家留下深刻的第一印象。Unity 的 UGUI 系统提供了一整套解决方案,包括 Canvas、Image 和 Button 等组件,支持添加各种动画效果。
72 3
|
2月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
66 0
|
2月前
|
C# 开发者 设计模式
WPF开发者必读:命令模式应用秘籍,轻松简化UI与业务逻辑交互,让你的代码更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,命令模式是简化UI与业务逻辑交互的关键技术,通过将请求封装为对象,实现UI操作与业务逻辑分离,便于代码维护与扩展。本文介绍命令模式的概念及实现方法,包括使用`ICommand`接口、`RelayCommand`类及自定义命令等方式,并提供示例代码展示如何在项目中应用命令模式。
28 0
下一篇
无影云桌面