<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>导入数据</title>
<script type="text/javascript" src="/webapp/javascript/jquery.min.js"></script>
<script type="text/javascript">
//加载完成后执行
$(document).ready(function () {
//为上传按钮添加点击事件
$("#btnUpload").click(function () {
//创建异步请求对象
var xhr = new XMLHttpRequest();
//创建form对象
var formData = new FormData();
//获取数据类型参数
var dataType = $("#dataType").val();
//获取文件名及文件本身
var fileName = $("#fileUpload").val(); //文件名
var file = $("#fileUpload").get(0).files[0]; //文件本身
//判断文件是否为空,若为空,则提示并返回
if(file == null){
alert("请先选择要上传的文件。");
return;
} //将文件添加到form表单中
formData.append("file", $("#fileUpload").get(0).files[0]);
formData.append("dataType", dataType);
//问上传添加进度处理函数
xhr.upload.onprogress = function (event) {
//计算上传进度百分比
var percentComplete = Math.round(event.loaded * 100 / event.total);
//显示百分比效果
$("#progressUpload").val(percentComplete).show();
}
//添加状态相应处理函数
xhr.onreadystatechange = function () {
//如果响应成功
if(xhr.readyState == 4 && xhr.status == 200){
//处理响应结果
/* $("#progressUpload").fadeOut("slow", function(){
//显示结果
$("#lblMessage").html(xhr.responseText);
}); */
}
}
//响应成功处理函数
xhr.onload = function (e) {
if(this.readyState == 4 && this.status == 200){
//隐藏进度条
//处理响应结果
$("#progressUpload").fadeOut("slow", function(){
//显示结果
$("#lblMessage").show().html("上传完成!");
});
}
}
//开始发送数据时
xhr.onloadstart = function () {
$("#progressUpload").hide();
$("#lblMessage").hide();
}
//超时处理
xhr.ontimeout = function (e) {
$("#message").html("sorry,连接超时了!");
}
//错误处理
xhr.onerror = function (e) {
$("#message").html("sorry,连接出错了!");
}
//打开连接请求
xhr.open("POST","test_save",true);
//发送数据
xhr.send(formData);
});
});
</script>
</head>
<body>
<fieldset>
<legend>批量导入数据</legend>
<!-- 数据表上传 -->
<select id="dataType" name="dataType">
<option value="教师信息">教师信息</option>
<option value="外聘教师" >外聘教师信息</option>
<option value="课程信息" >课程信息</option>
<option value="班级信息" >班级信息</option>
<option value="学生信息" >学生信息</option>
<option value="results" >成绩信息</option>
<option value="教学任务" >教学任务</option>
<option value="专业信息" >专业信息</option>
<option value="开课计划" >开课计划</option>
</select>
<input id="fileUpload" type="file" name="file"/>&nbsp;<input id="btnUpload" type="button" value="上传"/> <div id="message">
<progress id="progressUpload" value="0" max="100" style="display:none;"></progress>
<label id="lblMessage"></label>
</div>
</fieldset>
</body>
</html>

项目一、ajax上传数据(显示进度条)的更多相关文章

  1. ajax上传文件显示进度

    下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...

  2. Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)

    Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...

  3. ASP.NET Jquery+ajax上传文件(带进度条)

    效果图 支持ie6+,chrome,ie6中文文件名会显示乱码. 上传时候会显示进度条. 需要jquery.uploadify.js插件,稍后会给出下载 前台代码 <%@ Page Langua ...

  4. jQuery上传文件显示进度条

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script sr ...

  5. Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

    相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认”拿来主义“,只是我个人更喜欢凡是求个所以 ...

  6. blob 对象 实现分片上传 及 显示进度条

    blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js中的一个对象,里面可以储存大量的二进 ...

  7. 【原创】用JAVA实现大文件上传及显示进度信息

    用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...

  8. ajax上传数据

    ---恢复内容开始--- ajax上传数据,(简洁版) 1.上传普通同表单标签内容. 1.获取表单的内容 1. var file=$('#file').val();(放在点击事件后面) 2. var ...

  9. 说说ajax上传数据和接收数据

    我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...

  10. Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)

    先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...

随机推荐

  1. zookeeper设置客户端连接超时被expired

    在网络环境非常差的情况下,使用zookeeper集群往往会遇到连接expired了: 客户端提示连接从ZOO_CONNECTION_STATE变为ZOO_EXPIRED_SEESION_STATE,然 ...

  2. CentOS8 下 Redis5.0.7 哨兵Sentinel 模式配置指南

    下载Redis Redis下载链接 解压缩 tar -xzvf redis-5.0.7.tar.gz 编译安装 make和gcc依赖 可通过yum -y install gcc automake au ...

  3. springboot 整合 tobato 的 fastdfs 实现文件上传和下载

    添加项目所需要的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  4. easyui 前端分页及前端查询

    1.静态分页核心方法 // 前端分页 -- 将datagrid的loadFilter属性设置为这个方法名即可 function partPurchasePagerFilter(data) { if ( ...

  5. 简单的物流项目实战,WPF的MVVM设计模式(三)

    往Services文件里面添加接口以及实现接口 IUserService接口 List<User> GetAllUser(); GetUserService类 ConnectToDatab ...

  6. mysql两种备份方法总结:mysqldump 和 xtrabackup

    mysqldump工具基本使用 1. mysqldump [OPTIONS] database [tables…] 还原时库必须存在,不存在需要手动创建     --all-databases: 备份 ...

  7. IDEA显示Run Dashboard窗口

    接下来在workspace.xml RunDashBoard节点中添加如下内容:<component name="RunDashboard"> 在代码中加入 <o ...

  8. python函数带不带括号的问题

    Python带括号返回的是该函数的返回值 不带括号返回的是该函数的位置信息等

  9. 实现自己的BeanFactory、AOP以及声明式事务

    实现自己的BeanFactory                                                                   在使用spring时,我们很少用& ...

  10. 【LeetCode】排序 sort(共20题)

    链接:https://leetcode.com/tag/sort/ [56]Merge Intervals (2019年1月26日,谷歌tag复习) 合并区间 Input: [[1,3],[2,6], ...