空表单字段Ajax请求到Spring控制器
问题描述:
这是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;
}
答
默认情况下PARAMS是由春,除非另行指定要求。设置@RequestPart(所需=假,值= “aFieldName”)
指定PARAMS工作正常。如果你想接受你需要自己接受的答案:) – abmerday
。谢谢你的回答。 –
林盘,但低水平的声誉防止它接受它 – abmerday