业务场景:页面上有一个课程下拉框,点击这个下拉框更换课程的同时将该课程的课程编号回显到另一个input域中。该过程是异步的。下面介绍js和controller的写法。
课程下拉框:
课程代码域:
js写法:
function changeSubject(id){ $.getJSON("${ctx}/base/subject/findSubjectByid?id="+id,function(data){ //console.log(data);控制台打印出数据结构 $("#subject-code").attr("value",data.code); }); }controller写法:
@ResponseBody @RequestMapping(value="findSubjectByid") public JSONObject findSubjectByid(@RequestParam("id") String id) { Map<String, Object> map = Maps.newHashMap(); Subject subject = subjectService.get(id); map.put("id", subject.getId()); map.put("code", subject.getCode()); JSONObject json = JSONObject.fromObject(map); return json; }因为这里只需要返回一条记录,所以controller处理时使用的是JSONObject,返回一个json对象。 如果需要返回多条记录,只需要将JSONObject换成JSONArray即可。
