javascript - 如何从 AJAX 调用向 Spring 控制器发送空日期
问题描述
我有一个表单,我试图提供自动完成功能,但是当其中一个日期为空时,ajax 函数会不断抛出 400 错误。表单中有一些字符串、小数和日期,其中浮点数和日期可以为空或空。该函数适用于空浮点数,但不适用于日期。
我很感激任何帮助。
html:
<input type='date' class='Contract-startDate' required>
我的 JavaScript:
$(document).on('keypress', 'input.Contract-endDate, input.Contract-finalValue, input.Contract-name, input.Contract-startDate', function () {
var root = $(this).closest('fieldset');
$(this).autocomplete({
minLength: 2,
source: function (request, response) {
$.ajax({
url: domain + "/autocomplete/autocompleteContract",
data: {
endDate: ($(root).find('input.Contract-endDate').val().length > 0) ? $(root).find('input.Contract-endDate').val() : null,
finalValue: ($(root).find('input.Contract-finalValue').val().length > 0) ? parseInt($(root).find('input.Contract-finalValue').val(), 10) : null,
name: $(root).find('input.Contract-name').val(),
startDate: ($(root).find('input.Contract-startDate').val().length > 0) ? $(root).find('input.Contract-startDate').val() : null
},
type: "POST",
dataType: "json",
success: function (data) {
response($.map(data, function (item, i) {
return {
// return
};
}).slice(0, MAX_RESULTS))
},
error: function (xhr) {
alert("Contract autocomplete error: " + xhr.status);
}
});
},
select: function (event, ui) {
// select
}
});
});
我的弹簧控制器:
@RequestMapping(value = "/autocompleteContract", method = RequestMethod.POST, headers = "Accept=*/*")
@ResponseBody
public String autocompleteContract(@RequestParam(value = "endDate", required = false) Date endDate, @RequestParam(value = "finalValue", required = false) BigDecimal finalValue, RequestParam(value = "name", required = false) String name, @RequestParam(value = "startDate", required = false) Date startDate) {
// Handle data
}
解决方案
推荐阅读
- python - 通过 tcp socket 发送和接收的数据不一样
- python - 为什么 Python 中的 range 在执行计算时会在循环中递增 1?
- python - OS.Path 适用于 Jypyter 笔记本,而不是独立脚本
- python - 在 Python 中计算和绘制字符串列
- android - 加载广告前的静态 AdView 尺寸
- python - Pandas 将两个数据系列组合成一个系列
- python - 将 PostgreSQL 格式化为 JSON
- php - CakePHP Querybuilder 和计数语法
- meteor - {{#if currentUser}} 用户注销时仍会呈现内部图标
- python - Python - 访问字典中的所有属性