ajax SSM框架下,action拿到json,前台拿不到,大神帮帮忙

![图片说明](https://img-ask.csdn.net/upload/201707/22/1500684057_218247.png)图片说明

后台: @RequestMapping("/findPI")/*查询所有警员信息*/
@ResponseBody
public ModelAndView findAllPolInfo(HttpServletRequest request, HttpServletResponse response){
ModelAndView m=new ModelAndView();
List list=PolInfo.findAllPolInfo();
System.out.println(list+"***********************");
JSONArray jsay=JSONArray.fromObject(list);
System.out.println(jsay+"*************************");
/*m.addObject("list", jsay);*/

    try {
        response.getWriter().print(jsay);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    /*m.setViewName("/select.jsp");*/
    return m;

}

后台拿到值后,request.setAttribute,然后前台request.getAttribute。
或者如果用框架的返回的话,struts.xml里,配置
extends="json-default",得到的是返回json串,而不是页面或者modelandview了。

我有一个符合你框架以及要求的入门demo。https://github.com/FuZhucheng/SSM
至于的这里,丢进response,意味着你要想从paramap去获取数据,这样获取是不行的。这样并没有很好地处理数据。应该先包装成对象,利用springmvc去视图解析成json

ajax请求 你该用 return 返回值 回调函数才能获取吧

后台拿到后, 处理完数据后,扔Model里面去 model.addAttribute("obj", obj); 前台直接通过key的值obj得到数据 ${obj} 拿到Obj对象里面的属性a${obj.a}

response.getWriter().write(jsay); 你要用这个打印出去,直接返回的话就不是回到ajax请求了,最后return null;