Я пишу код для отправки данных из JavaScript в Spring MVC Controller с использованием Ajax.
Похоже, что мой Ajax-код работает нормально, так как мое сообщение об успехе напечатано на клиентской консоли, поэтому я предполагаю, что POST был выполнен. Однако мой контроллер, похоже, не вызывается, так как его сообщение никогда не выводится на консоль сервера.
Мой код Ajax:
<script>
$(document).ready(function () {
$("#submit-btn-2").on("click", function () {
var idList = [];
$(".vm-row").has(":checkbox:checked").each(function() {
idList.push($(this).attr('id'));
});
$.ajax({
type: "POST",
url: 'submitVendors',
data: {idList:idList},
success: function(id) {
console.log("SUCCESS: ", idList);
},
error : function(e) {
console.log("ERROR: ", e);
},
done : function(e) {
console.log("DONE")
}
})
});
});
</script>
Нажатие соответствующей кнопки приводит к выводу этого сообщения на клиентскую консоль:
SUCCESS: Array(3)
Мой контроллер:
@RequestMapping(value="/submitVendors", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
String submitVendors(@RequestParam("idList[]") String[] idList, HttpServletRequest request) {
String vid = request.getSession().getAttribute("vid").toString();
System.out.println("Inside submitVendors service.");
for (String id : idList)
{
System.out.println("It actually worked: " + id);
}
return "vendormanagement";
}
Никаких ошибок не выводится на консоль сервера, равно как и сообщения.