项目一、ajax上传数据(显示进度条)
<!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"/> <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上传数据(显示进度条)的更多相关文章
- ajax上传文件显示进度
下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...
- ASP.NET Jquery+ajax上传文件(带进度条)
效果图 支持ie6+,chrome,ie6中文文件名会显示乱码. 上传时候会显示进度条. 需要jquery.uploadify.js插件,稍后会给出下载 前台代码 <%@ Page Langua ...
- jQuery上传文件显示进度条
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script sr ...
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认”拿来主义“,只是我个人更喜欢凡是求个所以 ...
- blob 对象 实现分片上传 及 显示进度条
blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js中的一个对象,里面可以储存大量的二进 ...
- 【原创】用JAVA实现大文件上传及显示进度信息
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/grayprince/UploadBigFil ...
- ajax上传数据
---恢复内容开始--- ajax上传数据,(简洁版) 1.上传普通同表单标签内容. 1.获取表单的内容 1. var file=$('#file').val();(放在点击事件后面) 2. var ...
- 说说ajax上传数据和接收数据
我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...
- Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)
先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...
随机推荐
- [BZOJ 4332] [JSOI2012]分零食(DP+FFT)
[BZOJ 4332] [JSOI2012]分零食(DP+FFT) 题面 同学们依次排成了一列,其中有A位小朋友,有三个共同的欢乐系数O,S和U.如果有一位小朋友得到了x个糖果,那么她的欢乐程度就是\ ...
- C++ 中头文件<bits/stdc++.h>的优缺点
在编程竞赛中,我们常见一个头文件: #include <bits/stdc++.h> 发现它是部分C++中支持的一个几乎万能的头文件,包含所有的可用到的C++库函数,如<istrea ...
- Python 自定义三方库
一.注册一个pypi账号 https://pypi.org/ 二.github上创建一个项目 https://github.com/ 三.编写自己的python项目 项目结构(参考):https:// ...
- Python RSA操作
公钥加密.私钥解密 # -*- coding: utf-8 -*- import rsa # rsa加密 def rsaEncrypt(str): # 生成公钥.私钥 (pubkey, privkey ...
- CentOS6.4运维知识点1
系统的基础优化 1. 修改yum源(CentOS6.4 Mini) wget http://mirrors.163.com/.help/CentOS6-Base-163.repo cd /etc/yu ...
- 生成对抗网络资源 Adversarial Nets Papers
来源:https://github.com/zhangqianhui/AdversarialNetsPapers AdversarialNetsPapers The classical Papers ...
- 强化学习(Reinfment Learning) 简介
本文内容来自以下两个链接: https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/ https: ...
- 给虚拟机CentOS7扩容(lvm方式)
虚拟机中centos7原有容量不够了,需要进行扩容. 可以使用图形工具gparted来进行操作,安装和使用可自行百度.但需要注意的是,这篇文章提到:一定要用parted中的mkfs命令格式化分区,用系 ...
- python request.args 解析
requst.args 获得的是 列表类型原始 aa=ff&&bb=gg 通过request.args 分解为 ImmutableMultiDict([('page', u'10')] ...
- docker安装MySQL5.7示例!!坑
docker pull mysql 一.错误的启动 [root@localhost ~]# docker run ‐‐name mysql01 ‐d mysql 42f0981990 ...