Obtengo una respuesta [object Object] en la consola mientras espero un JSON completo.
Según mi clase de acción:
public String getDensityData(){ SessionFactory sf = (SessionFactory) ctx.getAttribute("SessionFactory"); ProductDAO product = new ProductDAOImpl(sf); List<DensityGroup> densityList = product.getDensity(); Gson gson = new Gson(); densityjson = gson.toJson(densityList); System.out.println("JSON: "+densityjson); return "success"; }Struts.xml
<package name="json" namespace="/" extends="json-default"> <action name="getJSON" class="com.bmm.action.ProductAction" method="getDensityData"> <param name="noCache">true</param> <param name="excludeNullProperties">true</param> <param name="root">densityjson</param> <result name="success" type="json">/product_master.jsp</result> </action> </package>JSP:
$.ajax({ type: "POST", url: '<s:url namespace="/" action="getJSON"/>', data: "json", success: function(data){ console.log(""+data); } });Si espera obtener JSON de la respuesta, debe dataType una propiedad de tipo de datos. JSON es un Object de JavaScript, si necesita imprimirlo, use JSON.stringify() .
$.ajax({ type: "GET", url: '<s:url namespace="/" action="getJSON"/>', dataType: "json", success: function(data){ console.log(JSON.stringify(data)); } });