请问spring 通过ajax怎么返回json呢?
这里是我的代码:
前台:
function xiao(){
$.ajax({
url: "<%=basePath %>/ajax/getStars.do",
contentType: "application/json;charset=utf-8",
type: "get",
dataType: "json",
success: function(data) {
alert(data);
},
error: function() {
alert("系统发生异常,请稍候再试!\n\n有任何疑问,请联系系统管理员!");
}
});
}
后台:
@Controller
public class Ajax {
@Autowired
private StarService starService;
private static final Logger logger = LoggerFactory.getLogger( Ajax.class );
@RequestMapping( value = "/ajax/getStars", method = RequestMethod.GET )
@ResponseBody
public String getAllStar( HttpServletResponse response ) {
logger.info( "异步查询明星" );
List<Star> stars = starService.getAllStar();
return null;
}
}
------最佳解决方案--------------------------------------------------------
使用json的包。然后在控制层这样使用
JSONObject jsonObject = new JSONObject();
jsonObject.put("data",stars);
------其他解决方案--------------------------------------------------------
在spring中配置json解析,然后方法返回Map类型,你只需要将list放入Map中返回,spring会自动解析
------其他解决方案--------------------------------------------------------
返回的是json串吧?eval(),转成json对象就是啦
------其他解决方案--------------------------------------------------------
import net.sf.json.JSONObject;
------其他解决方案--------------------------------------------------------
楼主给分啊
把js这个类型去掉
dataType: "json",
后台加 @ResponseBody会根据返回类型自动转换json
@Controller
public class Ajax {
@Autowired
private StarService starService;