Проблемы с обновлением jspf с использованием jQuery ajax и Spring Controller - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь отправить новое имя пользователя для добавления в одну из нескольких таблиц на моем JSP. Каждая таблица определена в файле jspf и включена в jsp. Я пытаюсь использовать jQuery.ajax () для отправки имени моему Spring Controller (который затем выполняет всю работу среднего и заднего уровня) Когда Spring Controller возвращается, я хочу, чтобы одна таблица обновлялась автоматически. Я не хочу обновлять всю страницу.

Как мне это сделать? Что мне вернуть из моего Spring Controller? Мне необходимо обновить одну таблицу (которая находится в одном файле JSPF).

Вот пример вызова ajax, который я использую:

$.ajax('/path/addUser.html', {
  type: "POST",
  data: { "userName" : "bob" },
  success: function(data) {
     // do what if anything?
  },
  error: function(jqXHR, textStatus, errorThrown) {
    Ext.MessageBox.alert('Error', errorThrown);
  }
});

1 Ответ

1 голос
/ 28 февраля 2012

Возвращает имя пользователя и имя таблицы из контроллера (если у вас несколько таблиц).Затем, используя Jquery, просто добавьте имя пользователя в соответствующую таблицу.
В контроллере поместите значения в объект JSON, вы можете использовать Json-simple для кодирования / декодирования значений в объекте json.тип контроллера, чтобы избежать обновления страницы / представления.В контроллере

JSONObject json = new JSONObject();
json.put("userName", user_name);
json.put("tableName",table_name);
return json;

В JS декодировать значения json и использовать jquery, как Вы можете использовать

$(tableName + "tr:last").after(userName);   
  $.ajax('/path/addUser.html', {
  type: "POST",
  data: { "userName" : "bob" },
  success: function(data) {
      $(data.tableName + "tr:last").after(data.userName);   
  },

});
...