【问题标题】:jquery.form plugin, ajaxSubmit and hooking when HTTP 302 received收到 HTTP 302 时 jquery.form 插件、ajaxSubmit 和挂钩
【发布时间】:2011-06-26 15:23:38
【问题描述】:

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

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

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

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

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

非常感谢任何帮助:)

【问题讨论】:

    标签: javascript jquery ajax http jquery-forms-plugin


    【解决方案1】:

    在这里自行回答。

    我偶然发现了this blog post,该人使用 Django 并在浏览器 xmlHttpRequest 实现中对 HTTP 重定向支持遇到同样的问题。

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

    希望这对其他人有所帮助。

    【讨论】:

    • 文章已被删除。 @NiKo 你能在这里解释一下解决方案吗?
    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    相关资源
    最近更新 更多