如何通过ajax从spring控制器获取数据?

Suj*_*jan 7 ajax jquery spring jsp spring-mvc

ajax在一个jsp页面上通过URL调用spring控制器/check.

$.ajax({
    type : "GET",
    url : "${pageContext.request.contextPath}/check",
    data : {
    "id" : ${articleCount}
    },
    success: function(data){
    //response from controller
    }
});
Run Code Online (Sandbox Code Playgroud)

现在,控制器看起来像,

@RequestMapping("/check")
public String check(@RequestParam Integer id, HttpServletRequest request,
        HttpServletResponse response, Model model) {
    boolean a = getSomeResult();
    if (a == true) {
        model.addAttribute("alreadySaved", true);
        return view;
    } else
        model.addAttribute("alreadySaved", false);

    return view;
}
Run Code Online (Sandbox Code Playgroud)

我当时是使用模型数据,并试图访问它success: function(data)"${alreadySaved}",但它显示为空白.

有什么办法可以true/false在视图页面上接收这些数据吗?

Mad*_*esh 9

您必须为spring ajax调用示例添加@ResponseBody注释

@RequestMapping("/check")     
@ResponseBody
public String check(@RequestParam Integer id, HttpServletRequest request, HttpServletResponse response, Model model) {
    boolean a = getSomeResult();
    if (a == true) {
        model.addAttribute("alreadySaved", true);
        return view;
    } else {
        model.addAttribute("alreadySaved", false);
        return view;
    }
}
Run Code Online (Sandbox Code Playgroud)