有關檔案上傳 非ajax提交 得到後台資料問題_javascript技巧

來源:互聯網
上載者:User

下文給大家介紹檔案上傳非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提交 得到後台資料問題,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.