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

时间:2021-05-18

下文给大家介绍文件上传非ajax提交得到后台数据的操作方法,具体详情如下所示;

<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")@ResponseBodypublic 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提交 得到后台数据问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章