发送 Javascript 推送通知 - 在表单 POST 和 URL 重定向之后

Posted

技术标签:

【中文标题】发送 Javascript 推送通知 - 在表单 POST 和 URL 重定向之后【英文标题】:Send Javascript Push Notification - AFTER Form POST and URL redirection 【发布时间】:2020-06-28 13:42:02 【问题描述】:

用例(Django 项目):

我想在我的登录页面上登录 -> 因此我在 html (login.html) 中使用此表单:

<form class="loginform" action="" method="POST">
    % csrf_token %
    <div class="loginform">
        form.as_p
    </div>
    <br>
        <input type="submit" class="btn btn-success loginbtn" value="Login">
</form>

如果登录成功,我会用 DJANGO 重定向到这个 URL (localhost/welcome/)-> welcome.html:

LOGIN_REDIRECT_URL = "welcome"

我可以使用 alertify 发送 javascript 通知,但仅限于使用简单的东西,例如 点击它或鼠标悬停:

function notification(text) 
console.log(text)
alertify.success(text);

我在 html 表单标签中使用 onsubmit="javascript:notification("")" 进行了尝试,但这会 仅在 URL 重定向之前显示。

所以我的问题是:

如何在 URL 重定向之后激活/发送推送通知 POST/登录成功的案例?

非常感谢您的帮助!非常感谢!!

【问题讨论】:

【参考方案1】:

Javascript 是客户端。这意味着您的 alertify.success(text); 将在客户端执行,一旦服务器已经完成了他的渲染过程。

身份验证过程是服务器端的。所以你必须让你的服务器让你的 alertify 成为渲染内容的一部分。

知道了这一点,您只需更改您的 LOGIN_REDIRECT_URL 内容页面以在其中包含对通知的调用:

<!-- your html template comes here -->
<script type="text/javascript">
notification('You are now logged in');
</script>

请记住,该通知将在此人每次访问此页面时显示。您可能想再次重定向他,或者在 Django 中引入一个变量以避免再次显示它。

【讨论】:

感谢您的快速回复!我想我尝试使用单独的 html 文件或类似文件以这种方式实现它

以上是关于发送 Javascript 推送通知 - 在表单 POST 和 URL 重定向之后的主要内容,如果未能解决你的问题,请参考以下文章

如何跟踪FCM推送通知发送表单服务器端或Rest客户端? [重复]

如何使用 quickblox 从 javascript 发送推送通知

使用 NodeJs Express 在 JavaScript 上推送通知

推送通知正在发送到服务器,但没有出现在手机上

时间间隔后发送推送通知

使用 jQuery (Javascript) 的 Firebase 推送通知