码迷,mamicode.com
首页 > Web开发 > 详细

关于上传文件 非ajax提交 得到后台数据问题

时间:2016-10-12 11:21:28      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

<form name="configForm" id="configForm" method="post" action="" >

  ..........

</form>

根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美。

但是如果需要上传文件,

<tr>
  <td class="fontSize">请选择文件:</td>
  <td><input type="" class="easyui-filebox" id="fileImport" name="file" value="" style="width:300px;"></td>
</tr>

这个文件数据后台得不到,表单数据这个file也是null,这时需要

<form name="configForm" id="configForm" method="post" action=""  enctype="multipart/form-data" >

添加的这个enctype="mutipart/form-data" 后台可以

@RequestMapping("/saveAppVersion")
@ResponseBody
public ModelMap saveAppVersion(String action, TbdAppVersion tbdAppVersion,
      @RequestParam(value = "file") MultipartFile file) {....

}

接收。

但是必须要表单提交请求数据,ajax仍然不行(具体原因可以百度。。)

<form name="configForm" id="configForm" method="post" action="/admin/systemConfig/saveAppVersion.do" enctype="multipart/form-data">

......

</form>

easyui里面的js  submit提交

handler : function() {
  $("#configForm").submit();
}

 

那么问题来了,提交过后如何获得后台返回数据呢?

<form name="configForm" id="configForm" method="post" action="/admin/systemConfig/saveAppVersion.do"

      enctype="multipart/form-data" target="myIframe"> 。。。。。 </form>

<iframe name="myIframe" id="if_json" style="display:none">
</iframe>

在表单里添加一个target,也就是说提交成功返回的数据写在了name为myIframe的这个iframe中,只刷新这个iframe,接下来就是获得这个数据了,

虽然百度不是什么好鸟,但是有些东西还是可以找到的,比如以下获取iframe数据的方法!

handler : function() {

  $("#configForm").submit();
  $("#if_json").load(function(){//获取iframe中的内容
  var body = $(window.frames[‘myIframe‘].document.body);
  var data = eval(‘(‘ + body[0].textContent + ‘)‘);
    if(data.resultCode && data.resultCode != 0){
                .........
    }else{

         .........

        }
  });

}

 

关于上传文件 非ajax提交 得到后台数据问题

标签:

原文地址:http://www.cnblogs.com/teitey/p/5951734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!