Сохранить значение в базе данных, созданной из представлений

У меня есть переменная, вычисленная в моем 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)

%>
Другие вопросы по тегам