当前位置: 首页 > news >正文

图书管理系统 Axios 源码__新增图书

目录

功能介绍

核心代码解析

源码:新增图书功能

总结


本项目基于 HTML、Bootstrap、JavaScript 和 Axios 开发,实现了图书的增删改查功能。以下是新增图书的功能实现,适合前端开发学习和项目实践。


功能介绍

用户可以通过 模态框(Modal) 添加新图书,提交数据后,使用 Axios 发送 POST 请求 将数据存储到服务器,并实时更新图书列表。


核心代码解析

  • 控制模态框:使用 bootstrap.Modal 控制新增图书窗口的显示与隐藏。
  • 收集表单数据:利用 serialize 方法获取表单数据并转换为对象。
  • 发送 Axios POST 请求:提交书名、作者、出版社等信息到服务器。
  • 数据提交成功后处理
    • 刷新图书列表,显示最新数据;
    • 重置表单,清空输入框内容;
    • 关闭模态框,返回主界面。

源码:新增图书功能(index.js)

    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.serializeJSON/3.2.1/jquery.serializejson.min.js"></script><script>// 目标:获取并渲染图书列表function getBookList() {axios({url: "http://hmajax.itheima.net/api/books",method: "get",params: { creator: "小宁" },}).then((result) => {const bookList = result.data.data;const htmlStr = bookList.map((item, index) => {return `<tr><td>${index + 1}</td><td>${item.bookname}</td><td>${item.author}</td><td>${item.publisher}</td><td><span class="btn btn-danger btn-sm del">删除</span><span class="btn btn-warning btn-sm edit">编辑</span></td></tr>`;}).join("");document.querySelector(".list").innerHTML = htmlStr;});}// 页面加载时获取并渲染列表getBookList();// 新增图书功能const addModalDom = document.querySelector(".add-modal");const addModal = new bootstrap.Modal(addModalDom);document.querySelector(".save-btn").addEventListener("click", () => {const addForm = document.querySelector(".add-form");const bookData = $(addForm).serializeJSON(); // 序列化表单数据axios({url: "http://hmajax.itheima.net/api/books",method: "post",data: {bookname: bookData.bookname,author: bookData.author,publisher: bookData.publisher,creator: "小宁",},}).then(() => {getBookList(); // 重新渲染列表addForm.reset(); // 重置表单addModal.hide(); // 关闭模态框});});</script>

总结

1. 使用技术

  • HTML + Bootstrap:构建界面
  • JavaScript:处理交互
  • Axios:发送 AJAX 请求

2. 主要功能

  • 通过模态框(Modal)新增图书
  • 发送 POST 请求,将数据提交至服务器
  • 提交成功后,自动更新图书列表

3. 适用场景

  • 适用于 前端初学者项目开发者,可用于 学习 AJAX、Axios、Bootstrap 组件应用 等知识。
  • 可直接修改代码,扩展功能,如 删除、编辑、搜索 等。

本项目适合作为 图书管理系统前端示例,可用于学习 前后端交互 相关技术,有助于理解 前端数据请求和动态渲染 的基本原理。

http://www.lryc.cn/news/530818.html

相关文章:

  • Maven全解析:从基础到精通的实战指南
  • 数据密码解锁之DeepSeek 和其他 AI 大模型对比的神秘面纱
  • python算法和数据结构刷题[5]:动态规划
  • Ollama+OpenWebUI部署本地大模型
  • Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍
  • 【网络】传输层协议TCP(重点)
  • 海思ISP开发说明
  • 实验十 Servlet(一)
  • doris:聚合模型的导入更新
  • Java NIO_非阻塞I/O的实现与优化
  • 代码随想录算法训练营Day51 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
  • Games202Lecture 6 Real-time Environment Mapping
  • 在 Zemax 中使用布尔对象创建光学光圈
  • MySQL知识点总结(十八)
  • [论文总结] 深度学习在农业领域应用论文笔记14
  • MySQL和Redis的区别
  • Rust 中的注释使用指南
  • 2025年2月2日(tcp3次握手4次挥手)
  • 一文了解制造业中的QC是什么
  • 【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等),或请求参数值是file类型时,调用在线服务接口
  • 在CentOS服务器上部署DeepSeek R1
  • 算法随笔_36: 复写零
  • MoonBit 编译器(留档学习)
  • 使用 DeepSeek-R1 与 AnythingLLM 搭建本地知识库
  • 网络工程师 (13)时间管理
  • 【xdoj-离散线上练习】T251(C++)
  • 定时器按键tim_key模版
  • Kanass快速安装配置教程(入门级)
  • 无用知识之:std::initializer_list的秘密
  • 论文阅读笔记 —— 英文论文常见缩写及含义