Pregunta

Estoy tratando de enviar un nuevo nombre de usuario para agregar a una de las múltiples tablas de mi JSP. Cada tabla se define en un archivo JSPF y se incluye en el JSP. Estoy tratando de usar jQuery.AJAX () para enviar el nombre a mi controlador Spring (que luego funciona todo el nivel central y posterior). Cuando el controlador de primavera regresa, quiero que una tabla se actualice automáticamente. No quiero actualizar toda la página.

¿Cómo hago esto? ¿Qué devuelvo de mi controlador de primavera? Necesito actualizar la tabla (que se encuentra en un solo archivo JSPF).

Aquí hay un ejemplo de la llamada de Ajax que estoy usando:

$.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);
  }
});
¿Fue útil?

Solución

Regrese el nombre de usuario y el nombre de la tabla del controlador (si tiene varias tablas). Luego, usando jQuery, simplemente agregue el nombre de usuario a la tabla correspondiente.
En el controlador colocar los valores en el objeto JSON, puede usar Json-simple para codificar/decodificar valores en el objeto JSON. @Responsebody Como tipo de controlador de retorno para evitar la actualización de la página/Ver. En controlador

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

En JS decode los valores de JSON y use jQuery como puede usar

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

});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top