Spring ModelandView 重定向在 jquery ajax 调用中不起作用
spring modelandview redirect not working in jquery ajax call
我正在重新制作控制器下方的模型视图属性表单
@RequestMapping(value = "/signin", method = RequestMethod.POST)
public @ResponseBody
ModelAndView loginUser(@RequestParam(value = "userName") String userName,
@RequestParam(value = "password") String password,
ModelAndView model) {
on success login
return new ModelAndView("redirect:/another controller here");
on failure login
return new ModelAndView("same page");
我有 jquery ajax 调用来调用此控制器,当成功登录时,我想让用户获取另一个页面,但我的响应来到同一页面而不是重定向到另一个页面。
需要帮助
编辑 - 我正在使用基于 URL 的视图解析器和 Apache 磁贴进行视图渲染
假设我理解您的问题,重定向将在 AJAX 调用的上下文中进行 - 因此 JQuery AJAX 代码将遵循重定向并接收它从/another controller here
返回的响应。这不会触发整个页面刷新,但 JQuery AJAX 代码将提供响应以在当前页面中呈现。
要在成功登录后更改整个页面,最好不要在此屏幕上使用 AJAX。
或者,您可以返回一些指示符来告诉 JQuery 重定向。例如:
@RequestMapping(value = "/signin", method = RequestMethod.POST)
public @ResponseBody
ModelAndView loginUser(@RequestParam(value = "userName") String userName,
@RequestParam(value = "password") String password,
ModelAndView model) {
on success login
ModelAndView modelAndView = new ModelAndView("same page");
modelAndView.addObject("redirectUrl", "/another controller here");
return modelAndView;
on failure login
return new ModelAndView("same page");
然后在same page
中有一些Javascript,它查找redirectUrl
的存在并触发整个页面重定向(如果存在)。
var redirect = '${redirectUrl}';
if (redirect) {
window.location.replace(redirect);
}
相关文章:
- javascript函数调用不起作用
- Ajax调用不起作用
- 函数调用不起作用
- IE9+IE10 AJAX调用不起作用
- 科尔多瓦脸书登录FB.api调用不起作用
- 为什么这个javascript函数调用不起作用
- Ajax和jQuery对$Ajax url的调用不起作用
- firefox扩展对$.ajax的调用不起作用
- jQuery函数调用不起作用
- AJAX调用不起作用,因为它继续转到链接
- 表单提交前的Ajax调用不起作用
- 通过引用进行的Javascript调用不起作用
- 使用 ajax 的 API 调用不起作用
- Ajax 调用不起作用此代码中的问题
- JQuery .ajax() 函数调用不起作用,但成功方法运行
- JavaScript中的递归调用不起作用
- JQuery REST 调用不起作用
- 完整日历 GetEvents() 方法调用不起作用
- 从提交输入对函数的单击调用不起作用
- 下拉元素选择和 JS 调用不起作用