Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待下载jquery.js,然后完成页面的其余部分_Javascript_Jquery_Html - Fatal编程技术网

Javascript 等待下载jquery.js,然后完成页面的其余部分

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

在访问我的应用程序的私人页面之前,我想检查用户是否经过身份验证。 计划是在下载jquery的每个页面顶部编写一个脚本,连接到服务器并检查连接,如果用户未登录,则将其重定向到登录页面

例如,这是private.html页面

    <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开始执行之前,客户端已经收到了整个页面

这种身份验证应该在服务器端完成。由于您没有显式标记服务器端编程语言,因此我只能提供一种通用的方法来实现这一点:

  • 首先检查客户端是否已“登录”
  • 如果没有,请不要创建打算显示给这些客户机的原始页面
  • 而是显示一个登录表单

重要的是,在这种情况下,只有经过身份验证的私有数据才不会发送到客户端。

这种身份验证检查最好由服务器而不是客户端来处理,你不认为吗?这是服务器端的工作。不是客户端