0
我想分开保存我的页面,并使用ajax将它们全部加载到一个主页面中,这样我可以更快地更改我的布局。我使用Metro UI Css。当通过Ajax打开时,页面无法正常工作
问题是,我的网页在单独调用时工作正常,但通过ajax调用并显示在主页面上时,它不响应或抛出任何异常。这是一个加载的页面我的html代码:
<head>
<script src="../../app/webroot/js/jquery/jquery.min.js"></script>
<script src="../../app/webroot/js/jquery/jquery.widget.min.js"></script>
<script src="../../app/webroot/js/prettify/prettify.js"></script>
<script src="../../app/webroot/js/load-metro.js"></script>
</head>
<body class="metro">
<div class="accordion" data-role="accordion" style="font-size:20px; color:#3D5168">
<div class="accordion-frame">
<a class="heading" href="#"><i class="icon-history"></i>Early days</a>
<div class="content">
<p>Line 1</p>
</div>
</div>
</div>
</body>
我怀疑该行
href="#"
有事情做它,它可能会尝试打电话给原来的页面,它来自,而不是实际显示的页面。我在“调用者”页面上执行所有相同的导入操作,正如我所说的,我没有任何例外。
这是我的加载页面(阿贾克斯)
function LoadPage(PageName)
{
document.getElementById('LoadedPage').style.visibility='hidden';
document.getElementById('loader').style.visibility='visible'
var xmlHttp=MakeConn();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState === 4)
{
HandleLoad(xmlHttp.responseText,PageName);
}
};
xmlHttp.open("GET", "http://www.somewebsite.com/main/"+PageName, true);
xmlHttp.send(null);
}
function HandleLoad(response,PageName)
{
if(PageName!='home')
{
document.getElementById('home').className = 'tile bg-VSblue1';
}
if(PageName!='games')
{
document.getElementById('games').className = 'tile bg-VSblue1';
}
if(PageName!='about')
{
document.getElementById('about').className = 'tile bg-VSblue1';
}
if(PageName!='contact')
{
document.getElementById('contact').className = 'tile bg-VSblue1';
}
document.getElementById(PageName).className = 'tile double bg-VSblue1 selected';
document.getElementById('loader').style.visibility='hidden';
document.getElementById('LoadedPage').style.visibility='visible';
document.getElementById('LoadedPage').innerHTML = response;
}
有没有人对如何解决这一问题的一些建议吗?谢谢...
我没有看到任何JavaScript或jQuery代码。你如何加载页面? – RononDex
^我们不知道你是怎么做的,所以我们不能告诉你你做错了什么。 – user1596138
能否提供ajax功能 – Merlin