Проблема с обновлением JSPF с использованием jQuery Ajax и Spring Controller

StackOverflow https://stackoverflow.com/questions/9316132

  •  26-10-2019
  •  | 
  •  

Вопрос

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

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

Вот пример того, как я использую Ajax Call:

$.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);
  }
});
Это было полезно?

Решение

Верните имя пользователя и имя таблицы от контроллера (если у вас есть несколько таблиц). Затем используя jQuery, просто добавьте имя пользователя в соответствующую таблицу.
В контроллере поместите значения в объект JSON, вы можете использовать Json-Simple Чтобы кодировать/декодировать значения в json object.keep @Responsebody в качестве возвращаемого типа контроллера, чтобы избежать обновления страницы/просмотра. В контроллере

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

В JS Decode 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);   
  },

});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top