0

通过 AJAX 方法加载的页面。index.php 是基本页面,profile.php 是加载的页面

jQuery:(“发布”与 HTML 请求无关)

$('<a/>', {href: '?userID='+post['userID']+'#profile'}).text(post['firstName']+' '+post['lastName'])

HTML:

<a href="?userID=1#profile">Firstname Lastname</a>

原始网址(点击后)

http://########/#####/index.php?userID=1#home

profile.php 上的 $_GET print_r:

Array ()

按要求; ajax 加载 javascript (index.php):

    //AJAX page loading

        $(document).ready(function(){

            //Default page
            if(!window.location.hash)
                window.location.hash = '#home';

            //Check page reference
            checkURL();

            //Update nav
            $('#main-nav li').on("click", function (){
                $('#main-nav li').removeClass('active');
                $(this).addClass('active');

                //Assign each link a new onclick event, using their own hash as a parameter
                checkURL(this.hash);    
            });

            //check for a change in the URL every 250 ms to detect if the history buttons have been used
            setInterval("checkURL()",250);  
        });

        //Store the current URL hash
        var lasturl=""; 

        function checkURL(hash){
            if(!hash)

                //if no parameter is provided, use the hash value from the current address
                hash=window.location.hash;
            if(hash != lasturl) { 

                //If hash changed, update current hash and load new one
                lasturl=hash;
                loadPage(hash);
            }

        }

        function loadPage(url) {

            //Adjust page name
            url=url.replace('#','');   
            url=url+'.php';

            //AJAX load page contents in to main content div
            $('#content').load(url);
        }
4

1 回答 1

0

解决方案:

  1. 在根页面 (index.php) 上创建全局存储。
  2. 在存储中设置变量而不是使用 $_GET。
  3. 从子页面访问变量。

例子:

index.php (Javascript)

if (typeof(window.storage) === 'undefined') {
    window.storagePV = {};
}

$('#nav-profile').click(function() {
    window.storage.userID = <?php echo "$_SESSION[userID]"; ?>;
});

访问 userID 以查看用户的个人资料页面

var userID = window.storage.userID
于 2013-03-15T01:52:37.617 回答