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 方法中,红色框框的注解。

  • 相关阅读:
    boost json序列化
    boost serialize序列化
    lambda详解
    未知的生成错误““clr-namespace: test”mapping URI 无效
    无法解析的外部符号 "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)"
    LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    事实证明:软件层次的操作可以毁掉硬件
    下载随书源码的好地方
    一道简单的题目(东财)
    VS2013破解
  • 原文地址:https://www.cnblogs.com/zyfxlv/p/7248691.html
Copyright © 2011-2022 走看看