我在Spring mvc中使用jquery提交表单。
这是提交表单的jquery调用。
function uploadJqueryFormForEdit(documentId){
alert("ccc");
$('#result').html('');
$("#editDocumentForm").ajaxForm({
success:function(data) {
alert("ddd");
$('#result').html(data);
alert("eee");
//getProjectSegment('documents','DocumentSegment',projectId);
$('#editDocumentForm').remove();
},
error:function(e){
alert(e.responseText);
$("#msgDiv").html('Error');
},
dataType:"text"
}).submit();
}
这是我要提交的表格。
<form action="cont/uploadEdit?documentId=15&projectId=2" name="editDocumentForm" id="editDocumentForm" enctype="multipart/form-data" method="post">
当我在动作网址中使用一个参数时,例如。
action="cont/uploadEdit?documentId=15"
它工作正常。但是当我使用两个参数
时action="cont/uploadEdit?documentId=15&projectId=2"
它没有正确调用控制器方法(根本没有点击该方法)
这是控制器方法
@RequestMapping(value = "cont/uploadEdit", method = RequestMethod.POST)
public @ResponseBody String uploadEdit(@ModelAttribute("sessionId") String sessionId,@RequestParam("documentId") int documentId,@RequestParam("projectId") int projectId,MultipartHttpServletRequest request, HttpServletResponse response, UploadedFile fileDetail,UserBean userbean,Model model) throws SessionException {
logger.info("uploadEdit");
}
为什么我不能在动作标签中使用两个参数。?
这是第一个动作
的控制器方法 @RequestMapping(value = "cont/uploadEdit", method = RequestMethod.POST)
public @ResponseBody String uploadEdit(@ModelAttribute("sessionId") String sessionId,@RequestParam("documentId") int documentId,MultipartHttpServletRequest request, HttpServletResponse response, UploadedFile fileDetail,UserBean userbean,Model model) throws SessionException {
logger.info("uploadEdit");
}
答案 0 :(得分:0)
将params = {"documentId", "projectId"}
属性添加到RequestMapping注释
@RequestMapping(value = "cont/uploadEdit", params = {"documentId", "projectId"}, method = RequestMethod.POST)
public @ResponseBody String uploadEdit(@ModelAttribute("sessionId") String sessionId,@RequestParam("documentId") int documentId,@RequestParam("projectId") int projectId,MultipartHttpServletRequest request, HttpServletResponse response, UploadedFile fileDetail,UserBean userbean,Model model) throws SessionException {
logger.info("uploadEdit");
答案 1 :(得分:0)
发现错误:
在我们要提交的表单中(在我的情况下&#34; editDocumentForm&#34;),应该没有任何其他输入标记与action url变量中的名称相同,
例如,如果有这样的事情,
<input type="hidden" id="projectId" name="projectId" value="somevalue"/>
它会产生冲突。因此,请确保不会发生冲突。