通常ajax请求返回的格式为json或者xml,如果返回的是json,则可以通过转换成javascript对象进行操作,如下:
1、ajax请求的controller实现
@RequestMappingpublic void getLocations(@RequestParam String location, PrintWriter printWriter) { if (StringUtils.isEmpty(location)) { return; } List<Location> locations = locationService.getSubLocation(location); String json = Json.toJson(locations); printWriter.write(json); printWriter.flush(); printWriter.close(); }
Location是包含多个属性的Bean,如pName、zName。
2、ajax处理请求与返回值
$.ajax({ type : "GET", url : "/admin/location/getLocations.do", data : "location=" + val, success : function(msg) { msg = eval(msg); region = $("#region"); region.empty(); vHtml = "<option value='none'>选择区(可选)</option>"; $.each(msg, function(i) { var $bean = msg[i]; vHtml += '<option value="' + $bean.pName + '"">' + $bean.zName + '</option>'; }); region.html(vHtml); } });
msg本来是一个json字符串,使用eval函数将字符串转成了javascript对象,从而可以像对象那样获取属性值了。
以上这篇一种Javascript解释ajax返回的json的好方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。