当前位置:网站首页 > 数据科学与大数据 > 正文

Node学习(九)021-管理系统之添加英雄——完成本地图片预览之生成临时url-URL.createObjectURL(文件对象)& FormData收集表单各项数据之ajax请求写法-post请求

Node学习(九)021-管理系统之添加英雄——完成本地图片预览之生成临时url-URL.createObjectURL(文件对象)& FormData收集表单各项数据之ajax请求写法-post请求

四、添加英雄

4.1 处理表单

查看数据表,有哪些字段需要添加;这些字段在页面中有没有?

页面中缺少一个昵称,所以自行添加(复制姓名那个div,修改成昵称)

4.2 完成本地图片预览

在add.html中,当文件域的内容发生改变的时候,完成图片预览:

<script>  完成图片预览 // 当上传控件(文件域)的内容发生改变的时候,完成预览 $('#heroIcon').change(function () { 
      // 1. 生成一个临时的url // var url = URL.createObjectURL(文件对象); // console.dir(this); var objFile = this.files[0]; var url = URL.createObjectURL(objFile); console.log(url); // 2. 改变“盖伦”那个图片的src为临时的url即可 $('#yulan').attr('src', url); }); </script> 

执行 git add .git commit -m 'add.html中实现图片预览'

效果-上传图片并预览

在这里插入图片描述

4.3 前端将数据提交给接口,完成添加

分析

当点击“新增”按钮的时候,要阻止默认行为,然后使用FormData收集表单各项数据。然后将数据通过 $.ajax() 方法提交给接口 addHero (注:接口我们自定,目前还没有)。

对于增删改,接口一般都返回:

{ 
   "code": 200, "message": "添加英雄成功"} 

下面在add.html中,完成前端代码:

<script> // 当点击“新增”按钮的时候,要阻止默认行为,然后使用FormData收集表单各项数据。 // 然后将数据通过 $.ajax() 方法提交给接口 /addHero (注:接口我们自定,目前还没有)。 $('.btn-add').click(function (e) { 
      e.preventDefault(); //阻止表单提交 // 收集表单数据 var fd = new FormData($('form')[0]); // 发生ajax请求 $.ajax({ 
      contentType: false, processData: false, type: 'POST', url: '/addHero', data: fd, dataType: 'json', success: function (res) { 
      // 预期的res ===== {"code": 200, "message": "添加英雄成功"} // 无论成功还是失败,都提示 alert(res.message); if (res.code === 200) { 
      // 添加成功,跳转到index.html location.href = '/index.html'; } } }); }); </script> 

执行 git add .git commit -m '完成了添加英雄的前端代码'

到此这篇Node学习(九)021-管理系统之添加英雄——完成本地图片预览之生成临时url-URL.createObjectURL(文件对象)& FormData收集表单各项数据之ajax请求写法-post请求的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Node学习(九)031-管理系统之修改英雄——服务端get接口写法之req.query可以获取到url上所有的参数 & ajax请求数据之get请求写法2024-11-30 23:00:08
  • Node学习(九)032-管理系统之修改英雄——ajax请求数据之post请求写法-$.ajax() 方法 & 图片预览之URL.createObjectURL(文件对象) & 服务端post接口写法2024-11-30 23:00:08
  • Node学习(九)04-管理系统之删除英雄——ajax请求数据之get请求写法完成删除、remove()移除DOM元素 & 服务端之完成删除的接口-sql中的delete语句2024-11-30 23:00:08
  • Node学习(九)05-管理系统之英雄列表分页——分页的sql查询语句 & 服务端get接口写法、ajax请求数据之get请求写法 & Math.ceil()函数-返回大于或等于一个给定数字的最小整数2024-11-30 23:00:08
  • Node学习(九)062-管理系统之登录和注册-使用验证码——验证码插件-svg-captcha & 前端生成动态验证码图片 & 服务端验证验证码数据2024-11-30 23:00:08
  • Node学习(七)03-mysql基本用法——update修改语句-数据修改需两个占位符& delete删除语句-结果是个对象& multipleStatements为true时可一次性执行多条SQL2024-11-30 23:00:08
  • Node学习(七)02-mysql基本用法——insert添加语句之基本添加、带占位符的形式 & SQL中query方法为问号传递一个对象添加sql数据2024-11-30 23:00:08
  • Node学习(七)01-mysql基本用法——Node中使用MySQL模块的5个步骤 & select查询语句-查询的结果是一个数组,数组中的每个对象就是一行数据 & SQL中有多个占位符2024-11-30 23:00:08
  • Node学习(六)03-SQL语句——添加数据insert into、修改数据update、删除数据delete from、连接查询select from之内连接、左连接、右连接和定义别名2024-11-30 23:00:08
  • Node学习(五)022-处理静态资源——自定义中间件处理post提交的数据 & 将接收到的数据,赋值给req.body & 使用express和body-parser中间件处理post提交数据2024-11-30 23:00:08
  • 全屏图片