包括PHP,使用ajax加载页面(不刷新页面)
我是新来的,所以我想更具体地说XD好吧,让我们开始: 我用div+css创建了一个模板,用php创建了一个脚本,其中包含一个文件,您可以通过“index.php?modul=modulename”菜单链接调用该文件。这是代码:包括PHP,使用ajax加载页面(不刷新页面),php,ajax,include,get,loading,Php,Ajax,Include,Get,Loading,我是新来的,所以我想更具体地说XD好吧,让我们开始: 我用div+css创建了一个模板,用php创建了一个脚本,其中包含一个文件,您可以通过“index.php?modul=modulename”菜单链接调用该文件。这是代码: <div id="contenuto"><br /> <?php if(empty($_GET["modul"]) && empty($_GET['userpanel'])) { require('moduli
<div id="contenuto"><br />
<?php
if(empty($_GET["modul"]) && empty($_GET['userpanel'])) {
require('moduli/news.php');
}
elseif (file_exists("moduli/" . $_GET['modul'] . ".php")) {
include("moduli/" . $_GET['modul'] . ".php");}
elseif (file_exists("moduli/userpanel/" . $_GET['userpanel'] . ".php")) {
include("moduli/userpanel/" . $_GET['userpanel'] . ".php");
}else{
include("moduli/404.php");
}
?>
<br />
</div>
所以…我希望当我点击一个菜单链接时,它将包含特定的模块,而不刷新页面…很抱歉我的英文不好xD要在不刷新页面的情况下实现新功能,您需要使用ajax。我建议使用图书馆
您将需要调用诸如或之类的函数。这两个函数都将url作为第一个参数,它可以是PHP页面。要在不刷新页面的情况下实现新功能,需要使用ajax。我建议使用图书馆
您将需要调用诸如或之类的函数。这两个函数都将url作为第一个参数,可以是PHP页面。假设这是您的菜单链接列表:
<ul id="menulist">
<li><a href="index.php?modul=mod1" rel="mod1">Module 1</a></li>
<li><a href="index.php?modul=mod2" rel="mod2">Module 2</a></li>
<li><a href="index.php?modul=mod3" rel="mod3">Module 3</a></li>
<li><a href="index.php?modul=mod4" rel="mod4">Module 4</a></li>
<li><a href="index.php?modul=mod5" rel="mod5">Module 5</a></li>
</ul>
假设这是您的菜单链接列表:
<ul id="menulist">
<li><a href="index.php?modul=mod1" rel="mod1">Module 1</a></li>
<li><a href="index.php?modul=mod2" rel="mod2">Module 2</a></li>
<li><a href="index.php?modul=mod3" rel="mod3">Module 3</a></li>
<li><a href="index.php?modul=mod4" rel="mod4">Module 4</a></li>
<li><a href="index.php?modul=mod5" rel="mod5">Module 5</a></li>
</ul>
您希望链接看起来像
。将module_name
替换为您希望每个链接获得的模块名称。Ajax是关于javascript“xmlHttpRequest”的
function getPage(modul){
// This will create the XmlHttpRequest in modern browsers
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
// This will create the XmlHttpRequest in older versions of Internet Explorer
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// This is how you tell the script what to do with the response from the request
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("contenuto").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "moduli.php?modul="+modul, true);
xmlhttp.send();
}
在本例中,您需要另一个文件,moduli.php
来接收xmlhttp请求并包含正确的文件。它可能看起来像这样
$modul = $_GET['modul'];
include('moduli/'.$modul.'.php');
这是我想到的第一个通过AJAX实现的方法,但我不是老手,所以可能有一个更简单的方法
编辑:其他人用更简单的方法来回答这个问题,所以我建议大家看看。“我的版本”的唯一好处是,您不必调用来包含库(即使这样做很简单)。您希望链接看起来像
。将module_name
替换为您希望每个链接获得的模块名称。Ajax是关于javascript“xmlHttpRequest”的
function getPage(modul){
// This will create the XmlHttpRequest in modern browsers
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
// This will create the XmlHttpRequest in older versions of Internet Explorer
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// This is how you tell the script what to do with the response from the request
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("contenuto").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "moduli.php?modul="+modul, true);
xmlhttp.send();
}
在本例中,您需要另一个文件,moduli.php
来接收xmlhttp请求并包含正确的文件。它可能看起来像这样
$modul = $_GET['modul'];
include('moduli/'.$modul.'.php');
这是我想到的第一个通过AJAX实现的方法,但我不是老手,所以可能有一个更简单的方法
编辑:其他人用更简单的方法来回答这个问题,所以我建议大家看看。我的版本的唯一好处是,您不必调用来包含库(即使它很简单)。如果我不理解一件事,那么很抱歉xD module_bringer.php上应该放什么?因此,您可以在不刷新页面的情况下为链接带来内容。当客户端单击菜单项时,此文件“module_bringer.php”将仅打印“#contenuto”div的新内容。好的,对不起,您能为我编写代码吗?xD因为我是Jquery的noob,我糟糕的英语知识帮不了我xD再次抱歉:(我已经照你写的做了……但是没有用……它仍然会加载刷新页面……不要更改“contenutoçç”,有办法和你聊天?像skype/msn或facebook?再次感谢!!谢谢你!!!我已经修复了!!你的代码中有一个错误;)在“;”下一个(rel)但是我解决了它,现在开始工作了!!谢谢教授,如果我还不明白一件事xD我应该在module#bringer.php上放什么?xD这样你就可以在不刷新页面的情况下为链接带来内容。这个文件“module#bringer.php”将只打印“#contenuto”的新内容当客户端单击菜单项时div。好的,对不起,你能帮我写代码吗?因为我是Jquery的noob,我糟糕的英语知识帮不了我xD再次抱歉:(我已经照你写的做了……但是没有用……它仍然会加载刷新页面……不要更改“contenutoçç”,有办法和你聊天?像skype/msn或facebook?再次感谢!!谢谢你!!!我已经修复了!!你的代码中有一个错误;)在“;”下一个(rel)但是我解决了问题,现在开始工作了!!谢谢请检查可选项的内容,以便在$\u GET['module']为“../../../../../../../var/spool/ftp/pub/incoming/free\u virus\u scan”或类似值时做好准备。请检查可选项的内容,以便在$\u GET['module']为“../../../../var/spool/ftp/pub/incoming/free\u virus\u scan”时做好准备或类似的。