我正在尝试通过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吗?
谢谢。
答案 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
}