您好我一直在使用Spring 3进行我的项目,我一直陷入困境。
[HttpPost]
public JsonResult SomeAction(string value1, string value2)
{
if(String.IsNullOrEmpty(value1) || String.IsNullOrEmpty(value2))
{
throw new Exception("World not found.");
}
return Json("something");
}
redirectedUrl控制器只是用于重定向,但如果请求是ajax请求,那么我想以json的形式响应请求。
如何实现这一目标,谢谢。
编辑:我可以理解请求是否是ajax。我的问题是,如果它是ajax我想响应json,如果不是那么我想重定向。
答案 0 :(得分:0)
在您的控制器中使用此代码来识别请求是否为ajax,并根据您可以添加逻辑。
boolean ajax = "XMLHttpRequest".equals(
getRequest().getHeader("X-Requested-With"));
您可以通过httpRequest对象的标题(“X-Requested-With”)来决定。
答案 1 :(得分:0)
public ModelAndView getDetails(HttpServletRequest request, HttpServletRespone response) {
if(ajax) {
try {
new MappingJacksonHttpMessageConverter().write(object, MediaType.APPLICATION_JSON, new ServletServerHttpResponse(response));
} catch(Exception e) {
logger.error("Error when converting to json");
}
return null;
} else {
return new ModelAndView("viewName");
}
}