- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下发出请求的函数:
function postIngredient(action, options) {
var xhr = new XMLHttpRequest();
xhr.open(options.method, action, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.setRequestHeader(options.security.header, options.security.token);
// send the collected data as JSON
xhr.send(JSON.stringify(options.params));
xhr.onloadend = function () {
// done
};
}
该函数触发服务器上的一个方法,该方法基本上返回一个 ModelAndView 对象:
...
ModelAndView mav = new ModelAndView("redirect:/recipies/edit?id=1");
....
return mav;
因此,在请求的“预览”选项卡中,我有应该重定向的正确页面,但浏览器中没有重定向。该页面与最初调用 postIngredient() 函数的位置保持不变。那么如何进行重定向呢?
最佳答案
您正在通过 JavaScript 中的 XMLHttpRequest 对象发出 ajax 请求。该请求通过重定向进行响应,XMLHttpRequest 对象遵循重定向,调用编辑,然后将结果(编辑页面的完整页面内容)发送到您的 xhr.onloadend() 方法。浏览器窗口本身不参与其中,也不知道内部发送了重定向。
如果您想将帖子保留为 xhr 请求并且不切换到标准表单帖子,您可以更改帖子处理方法以仅返回字符串:
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ResponseBody;
@ResponseBody
public ResponseEntity<String> myPostProcessingIngredientsMethod(..put args here...) {
... do something ...
return new ResponseEntity<>("/recipies/edit?id=1", HttpStatus.OK));
}
然后在执行 xhr 请求的 Javascript 代码中,从结果数据中获取结果字符串,并使用类似内容重定向您的浏览器
window.location.href = dataFromResult;
@ResponseBody
注解防止 Spring 将返回的字符串解释为 View 名称并将该字符串包装在 ResponseEntity
中。如果出现问题,您可以返回错误代码。
关于javascript - ModelAndView 不重定向,但给出正确的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419667/
问题在标题中。我有一个 Spring MVC Web 应用程序,我必须修改很多东西,我对此一无所知,在做任何事情之前我都想了解它是如何制作的。 有什么区别: return new ModelAndVi
这个问题已经有答案了: what is the difference in org.springframework.web.servlet.ModelAndView vs org.springfram
谁能说出两者的区别 org.springframework.web.servlet.ModelAndView 和 org.springframework.web.portlet.ModelAndVie
我有一个 Managers 列表,需要在我的 @Controller 方法中返回。我还有一个需要同时返回的用户表单 View 。 managerList是从之前的@Controller返回的。我可能盯
我正在写一个 HandlerInterceptor需要将某个 session 范围的 bean 插入 Model . postHandle的签名是这样的: public void postHandle
如何在 Spring MVC 3 的 Controller 中将多个对象添加到 ModelAndView 中?这可能吗? 最佳答案 您可以在 Spring 中使用 addAttribute() 方法向
我有以下发出请求的函数: function postIngredient(action, options) { var xhr = new XMLHttpRequest(); xhr.
我想要显示的页面存在于: java/resources/src/main/webapp/etwebTmpl/login/reset.jsp 我正在使用 ModelAndView,当我去显示它时,我收到
如何在 Spring MVC 3 的 Controller 中将多个对象添加到 ModelAndView 中?这可能吗? 最佳答案 您可以在 Spring 中使用 addAttribute() 方法向
我想通过一些自定义 header 从一个 Controller 重定向到另一个 Controller 。 SpringBoot 2.1.x @Slf4j @RestController @Reques
来自引用链接:How do you redirect to another URI and access an object from the previous modelAndView,如果 pub
当我的操作返回一个 ModelAndView 时是否可以返回一个字符串? public ModelAndView register(....) { ModelAndView mav = new
在 Spring 中,有没有办法在返回 View 后执行任务,或者我需要创建一个线程池并执行它? 例如: public ModelAndView handleRequest(HttpServletRe
我正在尝试从 Controller 向 jsp 返回一个简单的字符串“HelloSpring”。 Controller 是 package it.polito.ai.e4; import javax.
我正在尝试运行 springMVC 应用程序,但它向我显示空白页面。 在我的 Controller 类中,我有 @Controller public class LoginController ext
我有一个名为 的 i18n 属性文件 MessagesBundle_en.properties invalidresourceBundle = Default locale English inval
当我声明的 modelAndView 对象为空时,我试图显示一条消息,该对象使用 addObject() 加载并通过 Controller 返回 我的代码有点像... ModelAndView mod
在 Controller 中给出这个 Action : def listBlockedMembers() { def blocked = UserBlock.findAllByUser(spr
js中是否可以获取返回对象和字符串? Map myModel = new HashMap(); if (preview.equalsIgnoreCase("pdf")) {
在 Spring ,当控制返回 View 时,我看到它返回了, return new ModelAndView("contact", "command", new Contact()); 但是我看到了
我是一名优秀的程序员,十分优秀!