Cómo aceptar el retorno de cadena desde el controlador en una llamada ajax

Tengo una página jsp decir algo como esto

Connection not Enabled

una vez que hacemos clic en el botón Conexión no habilitada, realizará algún proceso y, por último, invocará una función js como esta:

 $.ajax({ url:contextPath +"/submitAllInfo", type: 'POST', data: formdata, async: false, processData: false, contentType: false, success: function (data) { $("#result").html(data); }, error: function (){ alert("error has cocured"); }, cache: false }); 

Lógica del controlador

  @RequestMapping(value = "/action", method = RequestMethod.POST) @ResponseStatus(value = HttpStatus.OK) public @ResponseBody String insertAllStepDetails(){ // some code String t ="done"; return t; 

}

Ahora respose está entrando en el bloque de error de la función js. ¿Cómo obtener este valor de cadena en el bloque de éxito de la llamada ajax?

En su función de éxito, querrá mostrar estos datos recién llamados, cambiando:

 $("#result").html("connection has been enabled successfully"); 

A:

 $("#result").text(data); 

url:contextPath +"/submitAllInfo", esta url no coincide con la siguiente acción

@RequestMapping(value = "/action", method = RequestMethod.POST)

y también está pasando data de su ajax request pero no hay nada que manejar en el controller method String insertAllStepDetails() debería ser como

  1. String insertAllStepDetails(@ModelAttribute("formData") AnyClass obj) o
  2. String insertAllStepDetails(HttpServletRequest request)

Y también eliminar processData: false, de la ajax request