У меня есть REST контроллер, который может удалять/вставлять/редактировать данные из бд, отображаю на jsp странице таблицу с соответствующими кнопками, использую jq. Мне нужно добавлять/удалять/редактировать строки таблицы без перезагрузки страницы, я использую ajax запросы. Адекватно работает только удаление, редактирование еще не добавил, неадекватно работает добавление объекта. Сам объект добавляется в бд и метод save
контроллера возвращает вставленный объект с id
(id генерирую на уровне бд)и после перезагрузки страницы он отрисовывается в таблице. Объект я не могу добавить просто в таблицу с помощью jquery потому что запрос ajax'a на добавление завершается в секции error
и не передается в response
.Приложу код скрипта и скрин ошибки, потому что я не знаю как ее можно описать словами.
<script>
var LIST_PRODUCTS = "/listProducts";
$(document).ready(function() {
var table = $('table');
//ДЛЯ ОТРИСОВКИ ТАБЛИЦЫ
function showTable() {
$.ajax({
type: "GET",
url: LIST_PRODUCTS,
dataType: "json",
async: true,
success: function (result) {
for (var i in result) {
var str = "<tr>";
for (var prop in result[i]) {
str += "<td>" + result[i][prop] + "</td>";
}
str += "<td><a href='#' data-id='" + result[i].id + "' class='delete'>удалить</a></td>";
str += "<td><a href='/' data-id='" + result[i].id + "' class='edit'>редактировать</a></td>";
str += "</tr>";
table.append(str);
}
},
error: function () {
alert("Exception on out");
}
});
}
showTable();
//УДАЛЕНИЕ
$(document).on('click', '.delete', function () {
var row = $(this).closest('td').parent();
console.log($(this).attr("data-id"));
$.ajax({
type: "DELETE",
url: LIST_PRODUCTS + "/delete/" + $(this).attr("data-id"),
async: true,
success: function (result) {
row.remove();
},
error: function (result) {
alert("Exception in DELETE")
}
});
});
$('#form').submit(function () {
sendAjaxForm();
console.log(response);
});
function sendAjaxForm() {
var DATA = {
name: $("#name").val(),
description: $("#description").val(),
create_date: $("#create_date").val(),
place_storage: $("#place_storage").val(),
reserved: $("#reserved").val()
};
$.ajax({
url: LIST_PRODUCTS + "/create",
type: "POST",
data: JSON.stringify(DATA),
dataType: "json",
contentType:"application/json; charset=utf-8",
async: true,
success: function (response) {
alert(response)
},
error: function (res) {
alert(res);
}
});
}
$('.js-button-create').click(function() {
$('.js-overlay-create').fadeIn();
$('.js-overlay-create').addClass('disabled');
});
// закрыть на крестик
$('.js-close-create').click(function() {
$('#reset').click();
$('.js-overlay-create').fadeOut();
});
});
</script>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Сделал модальное окно с помощью jqueryВесь html код располагается на jsp странице, также использую spring-boot, tomcat
Вопрос по существующей задаче Построение алгоритма, с чего подступиться? @Nero Вопрос такой, чем заменить конструкцию yield return для реализации...
Как убрать все стили фокуса в WPF с кнопки? Какая пропертя в стиле за это отвечает, и как с ней работать?