• 项目一、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"/>&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>
  • 相关阅读:
    git的突出解决--git rebase之abort、continue、skip
    servlet中service() 和doGet() 、doPost() 学习笔记
    Spring IoC容器初始化过程学习
    浅探SpringMVC中HandlerExecutionChain之handler、interceptor
    常用路由命令
    路由配置命令
    cout 计算顺序问题
    第一次作业
    记录一个微信网页授权中不小心踩到的坑(Curl请求返回false)
    善用mysql中的FROM_UNIXTIME()函数和UNIX_TIMESTAMP()函数
  • 原文地址:https://www.cnblogs.com/tanhao/p/7435656.html
Copyright © 2020-2023  润新知