Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax—使用脚本加载不同的';事件';_Ajax - Fatal编程技术网

Ajax—使用脚本加载不同的';事件';

Ajax—使用脚本加载不同的';事件';,ajax,Ajax,我不熟悉ajax,但目前有一些代码,一旦单击链接,就会更改站点的内容区域。 问题是,我想用不同的按钮加载不同的内容,但当前的代码只允许我链接到一个文件/页面 <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLH

我不熟悉ajax,但目前有一些代码,一旦单击链接,就会更改站点的内容区域。
问题是,我想用不同的按钮加载不同的内容,但当前的代码只允许我链接到一个文件/页面

  <script>
    function loadXMLDoc()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("centreCont").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","../home/indexFav.php",true);
    xmlhttp.send();
    }
    </script>

函数loadXMLDoc()
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“centreCont”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”,“./home/indexFav.php”,true);
xmlhttp.send();
}
您可以在上面的脚本中看到,当我链接到脚本时,ajax将始终指向“../home/indexFav.php”

我想使用不同的链接来加载不同的内容。如何做到这一点

这是我的html:

<div class="" onclick="loadXMLDoc()">Everyone</div>
<div class="" onclick="loadXMLDoc()">Favourites Only</div>
所有人
仅限最爱

loadXMLDOC
函数添加一个附加参数,该函数将加载URL。e、 g:

function loadXMLDoc(url) {
  ...
  xmlhttp.open("GET",url",true);
  xmlhttp.send();
}
然后更改
onclick
方法:

<div class="" onclick="loadXMLDoc('../home/indexFav.php')">Everyone</div>
<div class="" onclick="loadXMLDoc('../home/indexAll.php')">Favourites Only</div>
所有人
仅限最爱

这就是如何向AJAX函数添加“参数”,然后使用不同的值调用该函数的方法。Javascript如下:

<script>
function loadXMLDoc(pageName)
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("centreCont").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","../home/" + pageName + ".php",true);
xmlhttp.send();
}
</script>

函数loadXMLDoc(pageName)
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“centreCont”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“./home/”+pageName+“.php”,true);
xmlhttp.send();
}
那么,您的html可能会是这样的:

    <div class="" onclick="loadXMLDoc('indexEveryone')">Everyone</div>
    <div class="" onclick="loadXMLDoc('indexFav')">Favourites Only</div>
所有人
仅限最爱
希望有帮助