ajax day2

这篇具有很好参考价值的文章主要介绍了ajax day2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、ajax day2,ajax,前端,javascript
2、控制弹框显示和隐藏:
ajax day2,ajax,前端,javascript
3、右键tr,编辑为html,可直接复制tr部分的代码
ajax day2,ajax,前端,javascript

ajax day2,ajax,前端,javascript

4、删除时,点击删除按钮,可以获取图书id:
ajax day2,ajax,前端,javascript

ajax day2,ajax,前端,javascript
5、编辑图书
快速赋值表单元素内容,用于回显:
ajax day2,ajax,前端,javascript
6、hidden
ajax day2,ajax,前端,javascript

7、案例 个人信息设置
ajax day2,ajax,前端,javascript
js代码部分:文章来源地址https://www.toymoban.com/news/detail-695581.html

/**
 * 目标1:信息渲染
 *  1.1 获取用户的数据
 *  1.2 回显数据到标签上
 * */
// 1
const creator = '播仔'
axios({
  url: 'http://hmajax.itheima.net/api/settings',
  params: {
    // 对象中 es6简写 属性名和变量名相同
    creator
  }
}).then(result => {
  // console.log(result)
  // 播仔相关信息对象
  obj = result.data.data
  // item为字符串形式
  Object.keys(obj).forEach(item => {
    //avatar 存头像路径
    // console.log(item)
    if (item == 'avatar') {
      document.querySelector('.prew').src = obj[item]
      // 性别
    } else if (item === 'gender') {
      // genderList为一个伪数组 0男,1女
      const genderList = document.querySelectorAll('.gender')
      const num = obj[item]
      // 勾选上此单选框
      genderList[num].checked = true
    } else {
      document.querySelector(`.${item}`).value = obj[item]
    }
  })

})
// 2
// file的change事件 更换图片
document.querySelector('.upload').addEventListener('change', e => {
  // e.target.files得fileList对象
  // 只选中一张图片 故e.target.files[0]为一个file对象
  const fd = new FormData()
  fd.append('avatar', e.target.files[0])
  fd.append('creator', creator)
  // 提交到服务器上
  axios({
    url: 'http://hmajax.itheima.net/api/avatar',
    method: 'PUT',
    data: fd
  }).then(result => {
    console.log(result)
    //更新头像路径 result.data.data.avatar为图片在服务器中的路径
    document.querySelector('.prew').src = result.data.data.avatar
  })
})
// 3
document.querySelector('.submit').addEventListener('click', () => {
  const formData = document.querySelector('.user-form')
  const userObj = serialize(formData, { hash: true, empty: true })
  // console.log(userObj)
  // 字符串转数字类型
  userObj.gender = + userObj.gender
  userObj.creator = creator
  // 将修改的个人信息提交到服务器
  axios({
    url: 'http://hmajax.itheima.net/api/settings',
    method: 'PUT',
    data: userObj
  }).then(result => {
    // console.log(result)
    // 修改信息成功 显示提示框
    const toastDom = document.querySelector('.my-toast')
    // 创建提示框对象 构造函数 new实例化
    const toast = new bootstrap.Toast(toastDom)
    toast.show()
  })
})
// // // 1.1 获取用户的数据
// axios({
//   url: 'http://hmajax.itheima.net/api/settings',
//   params: {
//     creator
//   }
// }).then(result => {
//   const userObj = result.data.data
//   // 1.2 回显数据到标签上
//   Object.keys(userObj).forEach(key => {
//     if (key === 'avatar') {
//       // 赋予默认头像
//       document.querySelector('.prew').src = userObj[key]
//     } else if (key === 'gender') {
//       // 赋予默认性别
//       // 获取性别单选框:[男radio元素,女radio元素]
//       const gRadioList = document.querySelectorAll('.gender')
//       // 获取性别数字:0男,1女
//       const gNum = userObj[key]
//       // 通过性别数字,作为下标,找到对应性别单选框,设置选中状态
//       gRadioList[gNum].checked = true
//     } else {
//       // 赋予默认内容
//       document.querySelector(`.${key}`).value = userObj[key]
//     }
//   })
// })

// /**
//  * 目标2:修改头像
//  *  2.1 获取头像文件
//  *  2.2 提交服务器并更新头像
//  * */
// // 文件选择元素->change事件
// document.querySelector('.upload').addEventListener('change', e => {
//   // 2.1 获取头像文件
//   console.log(e.target.files[0])
//   const fd = new FormData()
//   fd.append('avatar', e.target.files[0])
//   fd.append('creator', creator)
//   // 2.2 提交服务器并更新头像
//   axios({
//     url: 'http://hmajax.itheima.net/api/avatar',
//     method: 'PUT',
//     data: fd
//   }).then(result => {
//     const imgUrl = result.data.data.avatar
//     // 把新的头像回显到页面上
//     document.querySelector('.prew').src = imgUrl
//   })
// })

// /**
//  * 目标3:提交表单
//  *  3.1 收集表单信息
//  *  3.2 提交到服务器保存
//  */
// /**
//  * 目标4:结果提示
//  *  4.1 创建toast对象
//  *  4.2 调用show方法->显示提示框
//  */
// 保存修改->点击
// document.querySelector('.submit').addEventListener('click', () => {
//   // 3.1 收集表单信息
//   const userForm = document.querySelector('.user-form')
//   const userObj = serialize(userForm, { hash: true, empty: true })
//   console.log(userObj)
//   userObj.creator = creator
//   // 性别数字字符串,转成数字类型
//   userObj.gender = +userObj.gender
//   console.log(userObj)
//   // 3.2 提交到服务器保存
//   axios({
//     url: 'http://hmajax.itheima.net/api/settings',
//     method: 'PUT',
//     data: userObj
//   }).then(result => {
//     // 4.1 创建toast对象
//     const toastDom = document.querySelector('.my-toast')
//     const toast = new bootstrap.Toast(toastDom)

//     // 4.2 调用show方法->显示提示框
//     toast.show()
//   })
// })

到了这里,关于ajax day2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端学习记录~2023.8.10~JavaScript重难点实例精讲~第6章 Ajax

    本章是第六章Ajax相关的内容。 Ajax是一种流行的前后端数据交互的方式,通过异步请求就可以在不需要刷新页面的情况下,达到局部刷新的效果。 Ajax并非是一种全新的技术,而是由以下技术组合而成: 使用CSS和XHTML做页面呈现 使用DOM进行交互和动态显示 使用XMLHttpRequest对象

    2024年02月11日
    浏览(38)
  • 前端JavaScript入门-day03

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 1、循环-for 1. for 循环-基本使用 1. for循环语法 2. 退出循环  2. for 循环嵌套  2、数组  1 数组是什么 2 数组的基本使用  1. 声明语法 2. 取值语法  3. 一些术语:  4. 遍历

    2024年02月11日
    浏览(49)
  • 前端JavaScript入门-day05

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 对象(object):JavaScript里的一种数据类型 可以理解为是一种无序的数据集合, 注意数组是有序的数据集合 用来描述某个事物,例如描述一个人 人有姓名、年龄、性别等信息

    2024年02月11日
    浏览(47)
  • 前端JavaScript入门-day08-正则表达式

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 介绍 语法  元字符  边界符  量词  字符类: 修饰符 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象,通常用

    2024年02月13日
    浏览(60)
  • javascript常见100问|前端基础知识|问ajax-fetch-axios-区别请用 XMLHttpRequestfetch 实现 ajax节流和防抖px em rem vw/箭头函数的缺点

    HTML CSS JS HTTP 等基础知识是前端面试的第一步,基础知识不过关将直接被拒。本章将通过多个面试题,讲解前端常考的基础知识面试题,同时复习一些重要的知识点。 扎实的前端基础知识,是作为前端工程师的根本。基础知识能保证最基本的使用,即招聘进来能干活,能产出

    2024年04月27日
    浏览(49)
  • 跟着pink老师前端入门教程(JavaScript)-day02

    1、什么是变量 白话:变量就是一个装东西的盒子 通俗:变量是用于存储数据的‘ 容器 ’,通过 变量名 获取数据,甚至数据可以修改 注意: 变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子。 2、变量在内存中的存储 本质

    2024年02月20日
    浏览(44)
  • ARM day2、day3 汇编

    @ 注释 # 注释(放在行首表示注释一行) /*    */ 注释 #+数字 立即数 : 一种标号(比如main:        loop:) .text        .end+换行 固定格式 ARM指令构成 ARM 指令包含操作码和一些其他的信息,只剩下8 位存放数据 具体来说,一个 ARM 指令通常由以下部分组成: 操作码(Opcode)

    2024年01月19日
    浏览(58)
  • Qt day2

    实现登录框中,当登录成功时,关闭登录界面,并跳转到其他界面。 widget.cpp mainwindow.h MainWindow.cpp Main.cpp

    2024年02月13日
    浏览(38)
  • ARM Day2

    目录 实现1-100的累加 思维导图

    2024年02月07日
    浏览(39)
  • 爬虫 Day2

    一requests入门        (一) 用到的网页:豆瓣电影分类排行榜 - 喜剧片         抓取结果:         (二)反爬 注意到每次下滑刷新榜单只有start参数改变,20递增 二从html里提取数据--数据解析 1.正则re解析--效率高 2.bs4 beautiful soup解析--效率不高 3.xpath解析--简洁 1.正则解

    2024年03月19日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包