【问题标题】:HTML form post receiving 302 response收到 302 响应的 HTML 表单发布
【发布时间】:2018-02-08 07:55:24
【问题描述】:

当我意识到我的所有表单帖子都收到 302 响应时,我正在调试我的网站,但它工作正常。 我处理 POST 的方式是通过 JS,使用这样的 XMLHttpRequest:

HTML

 <form method="POST" onsubmit="return submitFn(this)">

JS

 submitFn = function(formElement) {
     var formdata = new FormData(formElement);
     var xhr = new XMLHttpRequest();
     xhr.open(formElement.method, "/formaction", true);
     xhr.addEventListener('readystatechange', function(e) { ... }
     xhr.send(formdata);

     return false;
}

据我所知,返回 false 避免 HTML POST,以便我可以使用 JS 处理它。一切正常,但是当我在调试器控制台(Chrome 或 FF)中看到“网络活动”时,“formaction”页面有 302 响应,对吗?还是我弄错了?

【问题讨论】:

    标签: html forms post xmlhttprequest


    【解决方案1】:

    您的表单操作页面正在发回 302 响应。它与您的 xhr 代码无关。很可能 formaction 在 HTTP 响应中放置了一个 Location 标头,它占 302。由于请求是通过 xhr 发出的,因此您的浏览器不会重定向,这就是一切正常的原因。

    【讨论】:

      【解决方案2】:

      301:永久重定向

      302:临时重定向

      303:将请求方法重定向并更改为 GET

      307:重定向并保持请求方法

      302 是一条警告消息,告诉您您请求的 URL 将来可能会更改。

      我发现这个问题和你问的类似

      What does HTTP/1.1 302 mean exactly?

      【讨论】:

      • 我知道302响应是什么意思,我不明白的是WHY?
      猜你喜欢
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 2012-12-07
      • 2012-02-26
      • 1970-01-01
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多