Javascript 加载前等待服务器响应的HTML页面

Javascript 加载前等待服务器响应的HTML页面,javascript,html,ajax,rest,Javascript,Html,Ajax,Rest,我正在尝试开发一个带有用户注册/登录的网站,该网站与数据库连接以进行身份验证。 我想让我的HTML页面在加载之前稍等一下,这样我可以将客户端重定向到正确的页面,即如果用户最近登录,我们可以跳过登录页面,直接转到应用页面;如果用户尚未登录并尝试访问应用程序页面,则会将其重定向到登录页面) 目前我的应用程序页面中有以下JS代码: window.onload = function() { if(localStorage.tokenID == null || !authenticateToken(loc

我正在尝试开发一个带有用户注册/登录的网站,该网站与数据库连接以进行身份验证。
我想让我的HTML页面在加载之前稍等一下,这样我可以将客户端重定向到正确的页面,即如果用户最近登录,我们可以跳过登录页面,直接转到应用页面;如果用户尚未登录并尝试访问应用程序页面,则会将其重定向到登录页面)

目前我的应用程序页面中有以下JS代码:

window.onload = function() {
if(localStorage.tokenID == null || !authenticateToken(localStorage.tokenID)) {
    window.location.replace("login.html");
    ...
} 
其中authenticateToken(tokenID)是一个方法,它向我的服务器发送REST请求并返回一个布尔值,指示令牌是否有效

除了页面在等待服务器回复时开始加载,然后突然更改的问题之外,这一点并不能很好地工作


有没有办法让HTML加载等待服务器回复,然后再开始加载任何内容?

您可以放置加载程序或显示白色屏幕,直到服务器回复。您的答案将取决于authenticateToken的工作方式。您的问题是它正在异步运行,并且您没有等待响应。您需要使它同步运行(错误),或者在它完成后使用任何可用的工具重定向。通常这是通过回调或承诺来完成的。