Сохранить значение в базе данных, созданной из представлений
У меня есть переменная, вычисленная в моем JavaScript в представлении в Grails. Теперь я хотел сохранить это значение в базе данных в соответствующем месте. Как я могу это сделать? Например: у меня есть адрес участника и по нему я вычислил соответствующую широту и долготу. Я хочу сохранить их в своей базе данных. Пожалуйста, скажите мне, как я могу это сделать. Спасибо
1 ответ
Вы уже пробовали что-нибудь и можете ли вы опубликовать код
Я могу придумать 2 возможных способа ведения дел. Там, вероятно, больше. Но я бы порекомендовал первое.
1) ajax-вызов javascript с использованием jquery (если вы используете прототип или какой-либо другой фреймворк javascript... должно быть что-то для этого - это очень распространенная вещь)
Вам понадобится JQuery в вашем приложении Grails для следующего, чтобы работать.
$('#buttonOrSomethingToDriveFunctionCall').click(function() {
$.ajax({
url: "${createLink(controller: 'user', action: 'saveData')}",
data: yourDataHere,
success: function(data) {
// do something on success
}
});
});
2) было бы написать какой-то отличный код в середине вашего представления для непосредственного вызова контроллера. Это плохая идея; вам нужно будет что-то сделать, чтобы сохранить данные на странице, и это сделает вас уродливым.... Код спагетти
<%@ page import="controllerName" %>
<%
controllerName->saveData(dataFromjavaScript)
%>