javascript - 加载页面时快速重定向

标签 javascript html ajax tomcat web

如果用户有某些 cookie,我想将用户从登录页面重定向到内部页面,我在页面顶部放置了一个脚本,但我仍然一瞬间看到登录页面。

有没有办法让它更快或暂停加载 DOM 的其余部分,以便页面在重定向时不会出现?

<html>
<script src="script/jquery-3.1.1.min.js"></script>
<script src="script/js.cookie.js"></script>
<script>
(function () {
    if (Cookies.get("username")) {
        $.ajax({
            data: {
                "username": Cookies.get("username"),
            },
            url: "login",
            success: function (response) {
                document.open();
                document.write(response);
                document.close();
            }
        });
    }
}());

或者,有没有办法让它在对服务器的第一次请求中发送这些 cookie?即当用户请求站点的根 url 时。 (我正在使用 Tomcat)

最佳答案

将整个页面隐藏起来,例如

<div id="login" style="display:hidden">....</div>

如果 cookie 不存在则在代码中显示页面,否则重定向而不显示登录表单

(function () {
    if (Cookies.get("username")) {
        $.ajax({
            data: {
                "username": Cookies.get("username"),
            },
            url: "login",
            success: function (response) {
                document.open();
                $("#login").hide();
                document.write(response);
                document.close();
            }
        });
    }
   else
   {
     $("#login").show();
   }

关于javascript - 加载页面时快速重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40155231/

相关文章:

javascript - TypeError : $(. ..).selectize 不是函数

javascript - 如何正确地将对象传递给自定义指令?

javascript - Ajax:第一篇文章很棒,第二篇文章返回 URL 中的数据

javascript - 嵌套 AJAX 调用中的变量作用域

javascript - 如何计算div中输入的字符数(contenteditable)

javascript - 在 HTML 和 CSS 的表单中添加个人资料图片

javascript - 在 HTML 文本输入中显示 C# 日期时间

html - 如何在 URL 中传递 false bool 变量

javascript - 如果下面没有 div 则隐藏标题

jquery - 如何使用 jQuery .Ajax 和 Codeigniter 3 重新加载部分 View