2016-11-17 37 views
0

这是web项目我托盘从表单数据发送到服务器(弹簧部)。我使用Ajax将多部分请求发送到服务器。如果用户留下空的表单字段会出现问题。如果所有表单输入完整请求都正常工作。我发现一些职位,但这个不是我的情况下,不与多要求的工作。在项目中,我不使用anotetion像@Valid @NotNull用于对服务器端检查的有效性。 Spring不显示错误,只有Firebug显示网络错误400错误的请求。代码中出了什么问题。什么是检查有效性的空白表单字段的多请求最佳途径。空表单字段Ajax请求到Spring控制器

Ajax代码

function casePostUpload() 
    { 
var myForm = form.find('formAddPoster'); 
    myData = new FormData(); 
    myData.append('multipart', myForm); 


enter code her$ 
      .ajax({ 

       url : "/video/addCasePost", 
       //url: urlFromActionFild, 
       data : myForm, 
      // data : myData, 
       type : 'POST', 
       headers: {'Content-Type': undefined}, 
       enctype: 'multipart/form-data', 
       processData: false, 
       contentType:false, 
       success : function(data, textStatus, jqXHR){ 


        $('#casePost').prepend('<br/>Poster: '+data.casePoster+' :: title '+data.caseTitle+' at '+data.timestampAsStr+'<br/></td></tr>'); 


      }, 
       error : function(result){ 
        //...; 

       alert('add contnt error: ' + errorThrown); 
       } 
      }); 
    } 

Spring MVC的控制器

@RequestMapping(value = "/video/addCasePost", method = RequestMethod.POST) 
public @ResponseBody CasePost addcasepost(@RequestPart("caseTitle") String caseTitleString, 
    @RequestPart("file") MultipartFile file, HttpServletRequest request, Model model, @ModelAttribute("currentuser") User currentuser) throws Exception { 
    CasePost jsResponse = new CasePost(); 



      }catch (Exception e) { 
       log.error(e); 
      } 

    } 

    try { 
     if (caseTitleString != null) { 
      jsResponse.setCaseTitle(caseTitleString); 
      jsResponse.setCasePoster(filePath); 
jsResponse = graphStoryInterface.getCasePostInterface().add(jsResponse, currentuser); 

     } 
    } 
    catch (Exception e) { 
     log.error(e); 
    } 

return jsResponse; 


} 

回答

0

默认情况下PARAMS是由春,除非另行指定要求。设置@RequestPart(所需=假,值= “aFieldName”)

+0

指定PARAMS工作正常。如果你想接受你需要自己接受的答案:) – abmerday

+0

。谢谢你的回答。 –

+0

林盘,但低水平的声誉防止它接受它 – abmerday

相关问题