【问题标题】:Display toast messages after redirecting to URL重定向到 URL 后显示 toast 消息
【发布时间】:2017-10-29 20:43:12
【问题描述】:

我正在尝试提交表单,提交表单后,页面应重定向到不同的 URL。这工作正常,但是在用户点击“保存”按钮后立即出现 toast 消息,然后页面重定向到不同的 URL,并且 toast 消息消失。

但是,我想在进入重定向 URL 并在那里停留大约 1 秒钟后重定向以显示 toast 消息。这是我的 JavaScript 代码。

function submitForm(event) {
        if ($('#expenseTypeAddForm').valid()) {
            preloaderOption.On();

            var url = $('#expenseTypeAddForm').attr('action');
            ohrmAjaxHandler.url = url;
            ohrmAjaxHandler.type = 'POST';
            ohrmAjaxHandler.dataType = 'JSON';
            ohrmAjaxHandler.data = $('#expenseTypeAddForm').serialize();
            ohrmAjaxHandler.success = saveExpenseTypeSuccess;
            ohrmAjaxHandler.call();

        }
        else {
            console.log("Form is not valid");
        }
    };

    function saveExpenseTypeSuccess(data) {
        if (data['redirectUrl']) {
            window.location = (data['redirectUrl']);
        }

        preloaderOption.Off();
        toast.show(data['state'], data['responseMsg']);
    }

【问题讨论】:

  • 您需要某种持久存储,您可以使用 cookie 或会话来设计类似的东西
  • 这里,symfony.com/doc/current/components/http_foundation/… 你可以实现这个,闪现消息
  • 在 Symfony 1.x 中,toast 消息被称为“flash”消息。以下是有关如何设置它们的相关章节:symfony.com/legacy/doc/jobeet/1_4/en/13?orm=Doctrine 来自文档:“flash 是存储在用户会话中的临时消息,将在下一个请求后自动删除。当您需要时,它非常有用在重定向后向用户显示一条消息。”
  • 嗨,@Ghost,是的,早些时候我使用 Symfony 闪存消息实现了成功消息。但现在我正在发送 ajax 调用。我还能在 ajax 调用中使用 flash 消息吗?
  • @MadhukaHarith 是的,你可以

标签: javascript php jquery ajax symfony1


【解决方案1】:

你可以使用javascript会话

sessionStorage.setItem("showmsg", "1");

并检查会话是否存在,然后在其他页面上显示消息,然后重置会话

if(sessionStorage.getItem("showmsg")=='1'){
alert('success');
sessionStorage.removeItem("showmsg");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2015-02-12
    • 2011-12-09
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多