如何在Ajax成功中访问spring模型对象?

时间:2018-09-10 08:15:41

标签: jquery ajax spring-mvc

我正在尝试通过Ajax get访问特定的端点。为了获得成功,我确实希望使用模型中设置的“ statusCode”有条件地处理一些逻辑。
下面是我的代码,
控制器代码:

 @RequestMapping("/person")
    public String loginError(Model model) {
        String code = "active"
        model.addAttribute("statusCode", code)
        return "person";
    }

JS代码:

 $.ajax(url, {
         success: function(data, textStatus, xhr) {
                 //I want to access the statusCode here 
             },
         error: function() {
            console.log("Error");
         }
      });

在数据对象中,我确实得到了返回的html人。但是我想知道如何访问成功块内的statusCode吗?
谢谢。

1 个答案:

答案 0 :(得分:0)

当您使用AJAX调用并且需要处理状态代码响应时,您需要在控制器中说响应是AJAX类型而不是ModelAndView。使用此注释 ResponseBody

@RequestMapping("/person")
@ResponseBody
public String loginError(Model model) {
    String code = "active"
    //Here add your logic and returs the String or Object to handle in the JS code
    return code;
}

我个人会使用更完整的Bean响应,例如:

class JsonResponse implements Serializable {
    @Getter @Setter
    private int code;

    @Getter @Setter
    private String message;

    @Getter @Setter
    private int action;

    //Any other attributes useful for your logic 

}