0

我的所有网页都加载了 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!';
?>

有任何想法吗?

4

1 回答 1

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/

于 2013-01-23T21:02:25.663 回答