页面加载后转到页面

时间:2011-07-17 20:54:53

标签: php javascript jquery

好的,所以在我的主页上我正在做一个用户名和密码检查,然后我使用jquery document.location将你发送到一个登录的页面说安全.php ....虽然这有效,它会发送给你首先是secure.php,然后是图像开始加载......我怎么能这样做,它加载整个页面,然后发送给你secure.php

示例: -

 $.ajax ({
         url: loginCheck.php,
         type: 'POST',
         data: username + password ,
         success: function (check){
                if(check==1)
                    document.location= /loginpage/secure.php
                else alert(invalid username or pass)

            }
         });

2 个答案:

答案 0 :(得分:1)

编辑:我现在正在替换我的整个问题,因为我明白你要做什么。在secure.php中,将所有代码放在包含div中,如下所示:

<body>
    <div id="contentContainer">
        <!-- content goes here -->
    </div>
</body>

设置隐藏#contentContainer的样式:

#contentContainer {
    display: none;
}

添加window.onload处理程序以显示div。与onready不同,onload在加载所有内容(包括图像)之前不会被调用。

$(window).load(function() {
    $("#contentContainer").show();
});

您可能希望与“加载”div相反地执行相同操作,并显示“loading ...”消息。即,最初显示它,并将其隐藏在onload处理程序中。

编辑:您可以通过在上一页的隐藏div中预加载图片来加快页面加载。

Home.php

<div class="preloader">
    <img src="..." />
    ...
</div>

.preloader {
    display: none;
}

Secure.php应该使用缓存的图像加载。

答案 1 :(得分:0)

......这让我觉得非常不安全,但是很好。

除非你在jQuery中构建一个metaframework,其中所有页面加载都在“shell”中执行,然后只在准备渲染时显示,答案是,我很确定,你不能。

页面具有明确的生命周期。 jQuery和AJAX有点模糊了这一行,但页面加载是一个控制脚本的单一事件。加载页面会使您用来加载页面的脚本消失。