zoukankan      html  css  js  c++  java
  • Ajax请求Spring Mvc 时总是返回 302 Moved Temporarily

    功能上主要是实现在前台点击保存按钮,单元格变成文本框,修改值后请求后台保存数据。但在做的过程中,ajax 请求总是不能请求到后。打开浏览器调试,查看到http状态码总是返回 http/1.1  302 Moved Temporarily.  在网上查看解释给的是:  

    你所连接的页面进行了Redirect 
    302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”,而HttpServletResponse中相应的常量是SC_MOVED_TEMPORARILY,而不是SC_FOUND。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。为此,Servlet提供了一个专用的方法,即sendRedirect。使用response.sendRedirect(url)比使用response.setStatus(response.SC_MOVED_TEMPORARILY)和response.setHeader("Location",url)更好。这是因为: 
    
    首先,代码更加简洁。 
    第二,使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)。 
    最后,sendRedirect能够处理相对URL,自动把它们转换成绝对URL。 
    注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。 
    严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。
    参考资料: http://zhidao.baidu.com/question/16119833.html?si=4

    调试许久找到问题所在。主要是后台controller 方法中添加了AvoidDuplicatSubmission 的注解

    ajax 请求

    java 后台controller 方法

    解决问题的方法就是去掉controller 方法中,红色框框的注解。

  • 相关阅读:
    【BZOJ1087】状压dp
    【数据库课程设计】
    【BZOJ1295】最短路
    vue组件间通信六种方式(完整版)
    常见六大Web安全攻防解析
    4、css之position
    hue集成各种组件
    1.25-1.26 Coordinator数据集和oozie bundle
    1.22-1.24 Oozie企业使用案例
    1.18-1.21 Oozie Coordinator调度
  • 原文地址:https://www.cnblogs.com/zyfxlv/p/7248691.html
Copyright © 2011-2022 走看看