AJAX页面 - 如何使用#home等

时间:2015-12-15 20:25:14

标签: javascript php jquery html ajax

我尝试使用post from Tutorialzine制作AJAX页面。

此脚本使用AJAX显示页面。问题是该脚本使用数字,例如:subprocess.CalledProcessError: Command '['ping', '-l', '1', '-n', '1', '-w', '750', 'google.com']' returned non-zero exit status 1 http://example.com/#page1等。

如何制作此脚本,使其不需要网址中的http://example.com/#page2#page1#page2等。

很抱歉,如果我解释错了,英语不是我的母语,而且我很难解释。

的index.html

#home

的script.js

<script type="text/javascript" src="script.js"></script>
<ul id="navigation">
<li><a href="#page1">Page 1</a></li>
<li><a href="#page2">Page 2</a></li>
<li><a href="#page3">Page 3</a></li>
<li><a href="#page4">Page 4</a></li>
<li><img id="loading" src="img/ajax_load.gif" alt="loading" /></li>
</ul>

<div id="pageContent"></div>

load_page.php

var default_content="";

$(document).ready(function(){

    checkURL();
    $('ul li a').click(function (e){

            checkURL(this.hash);

    });

    //filling in the default content
    default_content = $('#pageContent').html();


    setInterval("checkURL()",250);

});

var lasturl="";

function checkURL(hash)
{
    if(!hash) hash=window.location.hash;

    if(hash != lasturl)
    {
        lasturl=hash;

        // FIX - if we've used the history buttons to return to the homepage,
        // fill the pageContent with the default_content

        if(hash=="")
        $('#pageContent').html(default_content);

        else
        loadPage(hash);
    }
}


function loadPage(url)
{
    url=url.replace('#page','');

    $('#loading').css('visibility','visible');

    $.ajax({
        type: "POST",
        url: "load_page.php",
        data: 'page='+url,
        dataType: "html",
        success: function(msg){

            if(parseInt(msg)!=0)
            {
                $('#pageContent').html(msg);
                $('#loading').css('visibility','hidden');
            }
        }

    });

}

1 个答案:

答案 0 :(得分:0)

你必须进行4次小改动

1)而url=url.replace('#page','');使用url=url.replace('#','');,因此#page1的输出将为page1#home - &gt; home以与现在相同的方式将url传递给ajax并为您的load_page.php

制作ajax

2)将您的所有page_1.html个html文件重命名为pages/page_home.html

3)将<a href="#page1">Page 1</a>链接更改为<a href="#home">Page 1</a>

4)将$page = (int)$_POST['page'];中的load_page.php更改为$page = $_POST['page'];

因此,根据您的哈希值#some_name,您应该page_some_name.html