发送 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 发送推送通知