1

到目前为止,我使用jquery.form插件及其ajaxSubmit方法取得了巨大成功,但现在我坚持使用它处理 HTTP 302 的方式。让我解释一下:

  1. 用户使用 xhr 通过 xhr 提交表单ajaxSubmit
  2. 如果表单无效,则响应包含表单的 HTML 代码错误等(HTTP 200),没关系
  3. 如果 for 有效,则后端返回 HTTP 302,但问题就在这里……</li>

ajaxSubmit似乎捕获了 302 并在内部进行重定向并获取重定向的内容,所以我得到的所有内容successcomplete事件回调都是它在遵循重定向提供的位置后检索到的 HTTP 200。

我想做的是检查 302,然后对重定向位置 url 做一些事情(例如,重定向浏览器窗口,而不仅仅是更新当前页面的部分 DOM。)

有可能实现这一目标吗?我觉得 atm 有点笨,因为我确定它是:$

非常感谢任何帮助:)

4

1 回答 1

1

在这里自答。

我偶然发现了这篇博客文章,其中该人使用 Django,并且在浏览器 xmlHttpRequest 实现中的 HTTP 重定向支持方面面临同样的问题。

他提出了一个非常好的解决方案,专门处理来自后端的 ajax 请求,设置自定义状态代码并在 ajax 事件回调之后进行测试。

希望这对其他人有帮助。

于 2011-06-26T17:05:36.117 回答