我在尝试将表单数据发布到Spring Controller时遇到错误400,我在这里尝试了一些帖子,但是没有用于表单数据,我使用了我在其他ajax帖子中使用的相同模式,但是有些是使用@ModelAtributte,在这种情况下我需要加载两个ModelAndView,我不知道
我得到的序列化表格是:
idModelo=11&carroRetirada=1&quantidadeMax=78&quantidadeRetirada=1
Ajax代码是:
$.ajax({
url: '/catalog/add-modelosemuso',
data: $('#form-retirada').serialize(),
type: 'post',
async: false
}).success(function () {
console.log("sent");
$('#container-modelo-list').load('/catalog/list-modelo');
})
.fail(function () {
console.log("Server failed");
})
.always(function (xhr, status, error) {
console.log("processing ajax...");
console.log(xhr, status,error);
console.log($('#form-retirada').serialize());
});
控制器是:
@RequestMapping(value = "/catalog/add-modelosemuso",
method = RequestMethod.POST)
public
@ResponseBody
String addModeloEmUso(@RequestParam("carroRetirada")
Integer carroRetiadaId,
@RequestParam("quantidadeReitada")
Integer quantidadeRetirada,
@RequestParam("quantidadeMax")
Integer quantidadeMax,
@RequestParam("idModelo")
Integer idModelo)
{
int restante = quantidadeMax - quantidadeRetirada;
Carros carro = new Carros();
carro.setIdCarro(carroRetiadaId);
ModeloPeca modelo = new ModeloPeca();
modelo.setIdPeca(idModelo);
modelo.setQuantidade(restante);
ModelosEmUso modelosEmUso = new ModelosEmUso();
modelosEmUso.setQuantidadeUsada(quantidadeRetirada);
modelosEmUso.setCarrosByCarrosIdCarro(carro);
modelosEmUso.setModelopecaByModeloPecaIdPeca(modelo);
modeloRepository.save(modelo);
modelosEmUsoRepository.save(modelosEmUso);
return null;
}
感谢您的帮助!
答案 0 :(得分:0)
HTTP请求没有名为quantidadeReitada
的必需HTTP参数,其中最相似的是quantidadeRetirada
(即 retirada 而不是 reitada ,无论这些意思是什么)。请记住将所有AJAX请求参数与值RequestParam
匹配。