【发布时间】:2016-07-22 22:55:19
【问题描述】:
所以,我的表单看起来像这样:
<form role="form" method="post" id="upload-form" action="">
<select class="form-control" name="category" style="margin: 0.5em">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<button type="submit">Submit</button>
</form>
我的 JavaScript 代码是这样的:
$("button").click(function(e){
e.preventDefault();
var request = $.ajax({
url: '/pos/csvUpload,
data: new FormData(document.getElementById("upload-form")),
enctype: 'multipart/form-data',
processData: false,
contentType: false,
type: 'POST'
});
// request callbacks...
});
我的 Java 代码是这样处理的:
@RequestMapping(value = "/pos/csvUpload", method = RequestMethod.POST)
public ResponseEntity<String> csvUpload(Model model,
MultipartHttpServletRequest request,
HttpServletResponse response
) throws Exception
{
String category = request.getParameter("category");
...
}
(注意我有 MultipartHttpServletRequest;这对我来说是必要的,因为我有一个文件输入,它使用该类来解析它。)
当我在网上浏览教程和更多 SO 帖子时,他们都告诉我使用 request.getParameter。但是,当我使用它时,它会返回null。
- 我正在使用 FormData 类
- 我正在使用 AJAX 发送 FormData
- 我正在使用 Spring MVC
- 我正在使用 MultipartHttpServletRequest 类
【问题讨论】: