Javascript 等待下载jquery.js,然后完成页面的其余部分
在访问我的应用程序的私人页面之前,我想检查用户是否经过身份验证。 计划是在下载jquery的每个页面顶部编写一个脚本,连接到服务器并检查连接,如果用户未登录,则将其重定向到登录页面 例如,这是private.html页面Javascript 等待下载jquery.js,然后完成页面的其余部分,javascript,jquery,html,Javascript,Jquery,Html,在访问我的应用程序的私人页面之前,我想检查用户是否经过身份验证。 计划是在下载jquery的每个页面顶部编写一个脚本,连接到服务器并检查连接,如果用户未登录,则将其重定向到登录页面 例如,这是private.html页面 <script src="/js/jquery"> //put a function that will till the download is completed before running the liness below <scr
<script src="/js/jquery"> //put a function that will till the download is completed before running the liness below
<script>
$.ajax(ur:"/server/checkif user is logged");
</script>
//other html elements
//在运行下面的程序之前,放置一个函数,直到下载完成
$.ajax(ur:“/server/checkif用户已登录”);
//其他html元素
您无法停止JavaScript加载页面,因为资源加载和其内容的执行是两件独立的事情。(任何人都可以将整个页面下载到文件中,其中的脚本不会被执行。)您需要在服务器上执行身份验证和重定向
即使您使用JavaScript检查了身份验证,然后才以编程方式加载内容,您也会遇到完全相同的问题(用户可能会劫持您的脚本,直接下载您的内容)。算了吧。它是不安全和不可靠的。正如其他人提到的,在JavaScript开始执行之前,客户端已经收到了整个页面 这种身份验证应该在服务器端完成。由于您没有显式标记服务器端编程语言,因此我只能提供一种通用的方法来实现这一点:
- 首先检查客户端是否已“登录”
- 如果没有,请不要创建打算显示给这些客户机的原始页面
- 而是显示一个登录表单
重要的是,在这种情况下,只有经过身份验证的私有数据才不会发送到客户端。这种身份验证检查最好由服务器而不是客户端来处理,你不认为吗?这是服务器端的工作。不是客户端