后台返回json字符串:
@RequestMapping(value = "/getDimensionByPid", method = RequestMethod.POST, produces = "text/html;charset=UTF-8")
@ResponseBody
public String getDimensionByPid(HttpServletRequest request,
@RequestParam(value = "pid", required = true) String pid) {
log.info("**pid:{}", pid);
List<PyDimension> dimensionList = this.pydimensionService.getByPid(pid);
log.info("**dimensionList:{}", dimensionList.toString());
JSONArray jsonArray = new JSONArray();
jsonArray.addAll(dimensionList);
log.info("**jsonArray:{}", jsonArray.toString());
return jsonArray.toString();
}
返回的json字符串:
**jsonArray:[{"id":"xxx","name":"xxx","note":"xxx","pid":"xxx","weight":0.2}]
前台js:
<script type="text/javascript">
function getDimensionByPid(){
var pid = $("#projectId").val();
$.ajax({
type: "POST",
contentType:'application/x-www-form-urlencoded;charset=utf-8',
url:"${basePath}pynorm/getDimensionByPid",
data:"pid="+pid,
dataType:'json',
success:function(data){
$("#dimensionId").empty();
var len = eval(data).length;
for(var i=0;i<len;i++){
var id = data[i].id;
var name = data[i].name;
$("#dimensionId").append("<option value='"+id+"'>"+name+"</option>");
}
}
});
}
</script>
通过eval()方法将从后台接收到的json字符串转化为json对象。