所以我有一个index.php文件,该文件使用ajax从同一目录中的另一个.php文件加载内容。但是出于某种原因,当您单击菜单中的链接并将其加载到ajax中时,新闻面板中的php脚本未执行,或者它不可见。
演示链接:http://www.michaeldylanedwards.co.uk/#archives
直接链接:http://www.michaeldylanedwards.co.uk/archives.php
php脚本
<?PHP
$category = "8";
$template = "Archives";
include("admin/show_news.php");
?>
以下是加载ajax的内容的代码;
的 load_page.php
<?php
if(!$_POST['page']) die("0");
$page = $_POST['page'];
if(file_exists($page.'.php'))
echo file_get_contents($page.'.php');
else echo 'There is no such page!';
?>
的的script.js
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('#','');
$('#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');
}
}
});
}
任何帮助将不胜感激!
答案 0 :(得分:0)
因此,当在#archives页面上显示空白时,点击顶部链接#home,#blog等工作,我假设这是预期的行为。
然而,当点击#contact和#social时,它会破坏网站..这是因为无论ajaxpage()
函数正在做什么(你没有将它包含在上面的JS中)正在删除{{1 } #pageContent
函数需要插入您的内容。
(我相信loadPage()
只是将它的响应输出打包到内容中,即删除内部ajaxpage()
)