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

深圳公司建立网站广州深圳

深圳公司建立网站,广州深圳,建外贸商城网站,灯具公司网站模板图书管理业务 Ajax图书管理业务 需求: 对服务器的图书数据进行 增、删、改、查。功能的实现#xff0c;同时实时动态的渲染刷新页面内容 根据功能模块分为四个业务模块#xff0c;下面有各个业务的实现步骤 01_ 渲染图书列表业务 * 目标1#xff1a;渲染图书列表 * 1.1 获…图书管理业务 Ajax图书管理业务 需求: 对服务器的图书数据进行 增、删、改、查。功能的实现同时实时动态的渲染刷新页面内容 根据功能模块分为四个业务模块下面有各个业务的实现步骤 01_ 渲染图书列表业务 * 目标1渲染图书列表 * 1.1 获取数据 * 1.2 渲染数据 业务1代码 // 固定的携带参数别名 const creator 刘不住 // 封装 -获取并渲染图书列表函数 function getBooksList() {//1.1 获取数据axios({url: http://hmajax.itheima.net/api/books,params: {// 传递外号获取对应数据creator}}).then((result) {console.log(result)const bookList result.data.dataconsole.log(bookList)// 1.2 渲染数据const htmlStr bookList.map((item,index) {return trtd${index 1}/tdtd${item.bookname}/tdtd${item.author}/tdtd${item.publisher}/tdtdspan classdel删除/spanspan classedit编辑/span/td/tr}).join()console.log(htmlStr)document.querySelector(.list).innerHTML htmlStr}) } // 网页加载运行获取并渲染列表一次 getBooksList()02_新增图书业务 目标2新增图书 ​ * 2.1 新增弹框 - 显示和隐藏 ​ * 2.2 收集表单数据并提交给服务器 ​ * 2.3 刷新图书列表、同时重置表单 业务2代码 // 2.1 创建一个弹框对象 const addModalDom document.querySelector(.add-modal) const addModal new bootstrap.Modal(addModalDom) // 给保存按钮添加点击事件 document.querySelector(.add-btn).addEventListener(click, () {// 2.2 收集表单数据并提交给服务器const form document.querySelector(.add-form)// 使用serialize插件的函数获取拥有anme属性的表单值const data serialize(form, { hash: true, empty: true })// 使用对象解构对获取的值进行处理,用于提交数据const { bookname, author, publisher } dataconsole.log(data)// 2.2.1 向服务器发送提交请求提交到服务器axios({url: http://hmajax.itheima.net/api/books,method: post,data: {...data,creator}}).then(result {console.log(result)// 2.3 服务器响应后我们需要重新渲染图书数据列表getBooksList()// 重置表单form.reset()// 隐藏弹框addModal.hide()}) }) 这里的显示我们使用bootstrap属性控制就可以了但是隐藏我们需要提交数据所以我们使用js来控制。 03_删除图书业务 * 目标3 删除图书 * 3.1 删除元素绑定点击事件 - 获取图书id * 3.2 调用删除接口 * 3.3 刷新图书列表 业务3代码 // 3.1 删除元素 - 点击事件委托 动态创建我们委托父级 document.querySelector(.list).addEventListener(click, e {// console.log(e.target)// 判断用户点击的元素if (e.target.classList.contains(del)) {// console.log(点击删除元素)// 获取图书id我们动态创建的自定义属性idconst theId e.target.parentNode.dataset.idconsole.log(theId)// 3.2 调用删除接口axios({// 使用模板字符串 路径传参url: http://hmajax.itheima.net/api/books/${theId},method: DELETE}).then(result {// 3.3 刷新图书列表getBooksList()console.log(result)}).catch(error {console.log(error)console.log(error.response.data.message)})} }) 04_编辑图书业务 * 目标4 编辑图书 * 4.1 编辑弹框 - 显示和隐藏 * 4.2 获取当前编辑图书数据 - 回显到编辑表单中 * 4.3 提交保存修改 并刷新列表 业务4代码 // 4.1 编辑弹框 - 显示和隐藏 使用js方式控制 const editDom document.querySelector(.edit-modal) // 通过bootstrap.Modal构造函数创建一个实例对象 const editModal new bootstrap.Modal(editDom) // 给编辑元素 - 绑定 -委托事件 document.querySelector(.list).addEventListener(click, e {// 判断点击的是否为 edit 这个类 的标签if (e.target.classList.contains(edit)) {// console.log(编辑)// 4.2 获取当前编辑图书数据 - 回显到编辑表单中const theId e.target.parentNode.dataset.id// console.log(theId)axios({// 路径传参 嵌入进去url: http://hmajax.itheima.net/api/books/${theId},method: GET,}).then(result {const bookObj result.data.data// document.querySelector(.edit-form .bookname).value bookObj.bookname// document.querySelector(.edit-form .author).value bookObj.author// 数据对象“属性”和标签“类名”一致// 遍历数据对象使用属性去获取对应标签快速赋值const keys Object.keys(bookObj) //[id, bookname, author, publisher]keys.forEach(key {document.querySelector(.edit-form .${key}).value bookObj[key]})})// 给弹框对象添加show方法让编辑框显示出来editModal.show()} })// 修改按钮 - 点击 - 隐藏按钮 document.querySelector(.edit-btn).addEventListener(click, () {// 4.3 提交保存修改 并刷新列表const editForm document.querySelector(.edit-form)const bookObj serialize(editForm ,{ hash: true ,empty: true })// 下面是保存正在编辑的图书id 隐藏起来无需让用户修改// input typehidden classid nameid value228500axios({url: http://hmajax.itheima.net/api/books/${bookObj.id},method: PUT,data: {...bookObj,creator}}).then(() {// 修改成功以后重新获取并刷新列表getBooksList()// 隐藏弹框editModal.hide()})}) 业务总结 核心的步骤 * 业务1渲染图书列表 * 1.1 获取数据 * 1.2 渲染数据 业务2新增图书 ​ * 2.1 新增弹框 - 显示和隐藏 ​ * 2.2 收集表单数据并提交给服务器 ​ * 2.3 刷新图书列表、同时重置表单 * 业务3 删除图书 * 3.1 删除元素绑定点击事件 - 获取图书id * 3.2 调用删除接口 * 3.3 刷新图书列表 * 业务4 编辑图书 显示和隐藏 * 4.2 获取当前编辑图书数据 - 回显到编辑表单中 * 4.3 提交保存修改 并刷新列表 在所有的查询和请求中,只要服务器的数据发生变化,同时也需要渲染刷新页面的内容.
http://www.pierceye.com/news/735525/

相关文章:

  • 提高网站性能网站建设中源代码
  • 海珠营销型网站建设公司山东城建建设职业学院教务网站
  • 怎样用虚拟主机建网站温州购物网络商城网站设计制作
  • 站外seo推广游戏模板 wordpress
  • 做翻译网站 知乎怎么制作网站主题
  • 照片书那个网站做的好重庆网站建设价格费用
  • 网站两侧广告石家庄建设
  • 网站设计的企业网站建设教程txt
  • 大型建站公司seo查询5118
  • 百度站长提交工具中小企业建站模板
  • 企业网站西安seo服务
  • 做网站需要多少个人网站logo设计
  • 新浪云 建设网站中企动力双语网站
  • 网站建设中心网站开发前端工程师
  • 网站目录结构设计应注意的问题课程平台网站建设报价
  • 南京网站排名优化费用做网站大作业的心得体会
  • 网站 三合一高端的响应式网站建设公司
  • 网站设计公司天津网站备案不关站
  • 怎样增加网站会员量微信商城怎么进入
  • 网站建设目的功能行业门户网站源码
  • 建设网站收费标准100m做电影网站
  • 怎么样自己做最简单的网站wordpress酷黑主题
  • 长沙市建设网站网站修改域名
  • 邢台企业做网站价格如何做网络推广运营
  • 番禺网站建设服务百度广告推广价格
  • 什么系统做网站最安全网络科技网站设计
  • 通州网站建设是什么查看网站开发商
  • 建设网站公司浩森宇特怎么推广公司网站
  • 来宾住房和城乡建设网站变装第三性wordpress
  • 自己开发网站怎么开发站长工具网址是多少