SpringMVC 無法獲取請求提交的資料
阿新 • • 發佈:2018-12-21
分析:
前臺
<!--縮圖 上傳控制元件--> <li> <div class="item-content"> <div class="item-inner"> <div class="item-title label">縮圖</div> <div class="item-input"> <input type="file" id="shop-img"> </div> </div> </div> </li> <!--店鋪簡介 textarea--> <li class="align-top"> <div class="item-content"> <div class="item-inner"> <div class="item-title label">店鋪簡介</div> <div class="item-input"> <textarea id="shop-desc" placeholder="店鋪簡介"></textarea> </div> </div> </div> </li>
提交資料: 使用Ajax提交
$.ajax({ url:registerShopUrl, type:'POST', data:formData, contentType:false, processData:false, cache:false, success:function (data) { if(data.success){ $.toast('提交成功'); }else { $.toast('提交失敗!'+data.errMsg); } $("#captcha_img").click(); } })
後臺 使用SpringMVC搭建
private Map<String,Object> registerShop(HttpServletRequest request){
。。。
}
現象:Ajax提交資料後 獲取不到提交的資料
原因:缺少上傳檔案解析器,如果沒有 不僅提交的檔案無法獲取,其他的資料都無法獲取
解決方案: 在spring配置檔案中新增:
<!--檔案上傳解析器--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"></property> <!--1024*1024*20=20M--> <!--上傳檔案最大值--> <property name="maxUploadSize" value="20971520"></property> <!--記憶體最大值--> <property name="maxInMemorySize" value="20971520"></property> </bean>