后台返回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对象。