Ajax加载页面,传递POST数据

时间:2013-01-23 20:57:46

标签: php ajax forms post

我的所有网页都加载了ajax,我不知道如何在加载的页面中包含POST数据。目标是有一个注册表单并将该数据发布到另一个php文件并在那里进行处理。

ajaxloader.js

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

            checkURL(this.hash);

    }); 

    setInterval("checkURL()",250);
    loadPage('#Home');
});

var lasturl="";

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

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


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

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

            if(parseInt(msg)!=0)
            {
                $('#pageContent').html(msg);
            }
        }

    });

}

load_page.php     

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

$page = $_POST['page'];

if(file_exists($page.'.php'))
echo include($page.'.php');

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以你的load_page.php看起来像是

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

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

if(file_exists($page.'.php'))
include($page.'.php');
else echo 'There is no such page!';

$content = ob_get_clean();
echo $content;

这应该可以胜任。但是,你不能像这样通过整个网站,你需要base64_encode()它确保一切正常。然后看看这个 http://phpjs.org/functions/base64_decode/