我正在尝试将动态内容加载到我的页面

时间:2017-12-21 23:01:22

标签: javascript php jquery

我正在尝试使用Ajax和jQuery将内容加载到我的网站。这是我的代码:

var default_content="";

$(document).ready(function(){ 
    checkURL();

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

    setInterval("checkURL()",250); 
});

var lasturl=""; //here we store the current URL hash

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

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

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

        else
        loadPage(hash);
    }
}



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

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

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

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

    });

}

这是我的PHP代码

<?php
    if(!$_POST['page']) die("0");

    $page = (int)$_POST['page'];

    if(file_exists('pages/page_'.$page.'.html'))
    echo file_get_contents('pages/page_'.$page.'.html');

    else echo 'There is no such page!';
?>

是编程新手,我们将不胜感激任何帮助

1 个答案:

答案 0 :(得分:0)

在您的php脚本中,您正在访问错误的密钥。您通过ajax发送dataString。这应该与您在$_POST数组

中访问的密钥相同

应该是:

 $_POST['datastring']

使用empty()检查datastring密钥是否存在

if(empty($_POST['datastring'])) {

 die("0");

}