DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 有關文件上傳 非ajax提交 得到後台數據問題
有關文件上傳 非ajax提交 得到後台數據問題
編輯:關於JavaScript     

下文給大家介紹文件上傳非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")
@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提交 得到後台數據問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved