在春天mvc返回地图为json

时间:2015-07-04 14:42:07

标签: jquery ajax spring-mvc

当我在控制器中将ModelAndView作为json返回时,我将得到我想要的正确值。

    @RequestMapping(value = "/Show", method = RequestMethod.POST)
    @ResponseBody
    public ModelAndView show(ModelMap mm) {
        ModelAndView mav = new ModelAndView("includes/test");
        return mav;
    }

但是当我使用Map并进入ajax时,我会看到视图是空的:

    @RequestMapping(value = "/Show", method = RequestMethod.POST)
    @ResponseBody
    public Map show(ModelMap mm) {
        ModelAndView mav= new ModelAndView("includes/test");
        Map map=new HashMap();
        String modal="test";
        map.put("view", mav);
        map.put("modal", modal);
        return mav;
    }

    //aJax
    $.ajax(){
        url:'Home/test.html',
        method:'POST',
        contentType: "application/json",
        mimeType: 'application/json',
        success:function(data){
             $('body').append(data['modal']);//Not null, value: test
             $('body').append(data['view']);//Null or empty
        }
    }

使用Map时,如何获得正确的视图值(此视图中的所有html数据,如",....")?

1 个答案:

答案 0 :(得分:0)

如果您想将模型作为json返回。 您只需设置方法返回类型JsonResult 然后传递你的模型json();