zoukankan      html  css  js  c++  java
  • Form实现无刷新上传文件并返回自定义值

    今天开发过程中遇到了这样一个问题:需要将Excel上传至服务器进行解析,但是在文档不合适的情况下希望可以不刷新页面提示用户文档不合适。冥思苦想了半天,在网上找了不少资料最终试验成功,在此分享下处理方法:

    首先先说下处理思路:在页面上添加一个隐藏的iframe,设置form表单的target属性设置为iframe的id,这样form提交时会将 excel文件以文件流的形式传到后台,在后台接收后可进行自定义操作,之后返回的信息将显示在iframe中而不进行跳转,iframe之前设置为隐 藏,所以页面不会有变化,然后我们需要监听iframe内容的变化,然后将内容传入主窗口中的JS方法进行下一步的自定义处理。

      页面代码如下:

    1
    2
    3
    4
    5
    <form id="input" action="importExcel.jhtml" method="post" enctype="multipart/form-data" target="hiddenIFrame">
      <input id="excelFile" name="file" type="file" />
      <input type="submit" class="button" value="导入excel"/>
    </form>
    <iframe id='hiddenIFrame' name='hiddenIFrame' style="display:none;"></iframe>

      JS代码如下(需引入jqeury):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $(function(){
        $("#hiddenIFrame").load(function(){
            var wnd = this.contentWindow;
            var str = $(wnd.document.body).html();
            callback(str);
        });
    })
     
    function callback(info){
        alert(info);
    }

     后台代码就不过多介绍了与传统提交一样,后台会根据input组件的name值获取到一个同名的文件流(例如上面页面代码中input组件的name是file,那么后台接收到的是一个名字叫file的文件流),接收后即可进行自定义操作。

  • 相关阅读:

    Android自己主动化測试之Monkeyrunner用法及实例
    递归函数的概念使用方法与实例
    正则、grep、sed、awk
    我的java学习笔记(一)
    mysql经常使用命令总结
    JSP动作--JSP有三种凝视方式
    http长连接和短连接
    StirngUtil工具类 之 邮箱注冊 域名不区分大写和小写方法
    在Eclipse上搭建Cocos2d-x的Android开发环境
  • 原文地址:https://www.cnblogs.com/doseoer/p/4565815.html
Copyright © 2011-2022 走看看