【问题标题】:Django form in a modal: redirect and handle errors dynamically模态中的 Django 表单:动态重定向和处理错误
【发布时间】:2016-06-12 07:05:15
【问题描述】:

我正在尝试使用 Django 在模式窗口中实现登录表单。基本上,我正在关注this 教程。它运作良好,但我想在提交并验证表单后将用户重定向到他/她的个人页面。根据之前的指南,我认为我必须更改突出显示部分的代码:

$(form).submit(function (e) {
        e.preventDefault();
        $.ajax({
            type: $(this).attr('method'),
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function (xhr, ajaxOptions, thrownError) {
                if ($(xhr).find('.has-error').length > 0) {
                    $(modal).html(xhr);
                    formAjaxSubmit(form, modal);
                } else {
                    $(modal).modal('hide');
                    ###########################
                    REDIRECT HERE TO ACTION URL
                    ###########################
                }
            },
            error: function (xhr, ajaxOptions, thrownError) {
                // handle response errors here
            }
        });
    });

但是,我不知道这是否是正确的解决方案,也不知道在这种情况下是否可行。

【问题讨论】:

  • 我认为您需要在突出显示的部分添加重定向代码。这看起来是正确的,并且会起作用。
  • 是的.. 但是如何检索表单操作的结果 url?
  • 您正试图将用户重定向到他的个人资料页面,对吗?它应该有一个 URL 模式对吗?尝试使用它。
  • 或者您可以从您的视图返回重定向 URL 并在您的 AJAX 函数中检索它。

标签: javascript jquery ajax django twitter-bootstrap


【解决方案1】:

当您说个人页面时,这实际上应该是一个隐含的东西,即 site.com/dashboard,它显示了用户当前登录的仪表板。如果您希望重定向诸如下一个链接(即用户尝试访问页面需要登录)或类似的东西,您总是可以在对 xhr 请求的响应中将下一个链接传回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2016-11-30
    • 2016-03-09
    • 2021-03-25
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    相关资源
    最近更新 更多