在我的JSP页面上,我向Spring控制器发布了一个Ajax帖子。我使用发布的数据来确定应该重定向到的位置。所以我的代码如下:
@RequestMapping(value="/postFromJSP" method={RequestMethod.POST})
public void sendRedirect(HttpServletRequest request,
HttpServletResponse response,
@RequestBody MyAjaxData data) {
RestResponse restResponse = determineRedirect(data);
if (restResponse.getStatusCode()==302) {
//redirect to URL from response
Cookie cookie = generateCookie(restResponse.getJson());
url = restResponse.getJson.getURL();
response.addCookie(cookie);
response.sendRedirect(url);
}
}
但是,在我的JSP页面中,当我检查网络流量时,看到了对重定向请求到指定URL的307
响应,并且视图在我的JSP中没有变化。
我在做什么错?我需要在Ajax中添加成功功能来进行重定向吗?
答案 0 :(得分:2)
像这样更改Spring Controller。
@RequestMapping(value="/postFromJSP" method={RequestMethod.POST})
public RestResponse sendRedirect(HttpServletRequest request,
HttpServletResponse response,
@RequestBody MyAjaxData data) {
RestResponse restResponse = determineRedirect(data);
return restResponse ;
}
在.js中的回调函数中处理响应