有关文件上传 非ajax提交 得到后台数据问题
下文给大家介绍文件上传非ajax提交得到后台数据的操作方法,具体详情如下所示;
<formname="configForm"id="configForm"method="post"action=""> .......... </form>
根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美。
但是如果需要上传文件,
<tr> <tdclass="fontSize">请选择文件:</td> <td><inputtype=""class="easyui-filebox"id="fileImport"name="file"value=""style="width:300px;"></td> </tr>
这个文件数据后台得不到,表单数据这个file也是null,这时需要
<formname="configForm"id="configForm"method="post"action=""enctype="multipart/form-data">
添加的这个enctype="mutipart/form-data"后台可以
@RequestMapping("/saveAppVersion") @ResponseBody publicModelMapsaveAppVersion(Stringaction,TbdAppVersiontbdAppVersion, @RequestParam(value="file")MultipartFilefile){.... }
接收。
但是必须要表单提交请求数据,ajax仍然不行(具体原因可以百度。。)
<formname="configForm"id="configForm"method="post"action="/admin/systemConfig/saveAppVersion.do"enctype="multipart/form-data"> ...... </form>
easyui里面的jssubmit提交
handler:function(){ $("#configForm").submit(); }
那么问题来了,提交过后如何获得后台返回数据呢?
<formname="configForm"id="configForm"method="post"action="/admin/systemConfig/saveAppVersion.do" enctype="multipart/form-data"target="myIframe">。。。。。</form> <iframename="myIframe"id="if_json"style="display:none"> </iframe>
在表单里添加一个target,也就是说提交成功返回的数据写在了name为myIframe的这个iframe中,只刷新这个iframe,接下来就是获得这个数据了,
虽然百度不是什么好鸟,但是有些东西还是可以找到的,比如以下获取iframe数据的方法!
handler:function(){ $("#configForm").submit(); $("#if_json").load(function(){//获取iframe中的内容 varbody=$(window.frames['myIframe'].document.body); vardata=eval('('+body[0].textContent+')'); if(data.resultCode&&data.resultCode!=0){ ......... }else{ ......... } }); }
以上所述是小编给大家介绍的有关文件上传非ajax提交得到后台数据问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!