下文給大家介紹文件上傳非ajax提交得到后臺數(shù)據(jù)的操作方法,具體詳情如下所示;
<form name="configForm" id="configForm" method="post" action="" > ..........</form>
根據(jù)id獲得表單數(shù)據(jù)然后發(fā)送ajax請求,獲得后臺返回數(shù)據(jù),處理數(shù)據(jù),完美。
但是如果需要上傳文件,
<tr> <td class="fontSize">請選擇文件:</td> <td><input type="" class="easyui-filebox" id="fileImport" name="file" value="" style="width:300px;"></td></tr>
這個文件數(shù)據(jù)后臺得不到,表單數(shù)據(jù)這個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) {....}
接收。
但是必須要表單提交請求數(shù)據(jù),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();}
那么問題來了,提交過后如何獲得后臺返回數(shù)據(jù)呢?
<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,也就是說提交成功返回的數(shù)據(jù)寫在了name為myIframe的這個iframe中,只刷新這個iframe,接下來就是獲得這個數(shù)據(jù)了,
雖然百度不是什么好鳥,但是有些東西還是可以找到的,比如以下獲取iframe數(shù)據(jù)的方法!
handler : function() { $("#configForm").submit(); $("#if_json").load(function(){//獲取iframe中的內(nèi)容 var body = $(window.frames['myIframe'].document.body); var data = eval('(' + body[0].textContent + ')'); if(data.resultCode && data.resultCode != 0){ ......... }else{ ......... } });}
以上所述是小編給大家介紹的有關(guān)文件上傳 非ajax提交 得到后臺數(shù)據(jù)問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對VeVb武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答
圖片精選