0

私は ajax を初めて使用しますが、現在、リンクがクリックされるとサイトのコンテンツ領域を変更するコードがいくつかあります。
問題は、さまざまなボタンを使用してさまざまなコンテンツをロードしたいのですが、現在のコードでは 1 つのファイル/ページにしかリンクできないことです。

  <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>

上記のスクリプトで、スクリプトにリンクすると、ajax は常に「../home/indexFav.php」に転送されることがわかります。

さまざまなリンクを使用して、さまざまなコンテンツをロードしたいと考えています。これはどのように行うことができますか?

これが私のhtmlです:

<div class="" onclick="loadXMLDoc()">Everyone</div>
<div class="" onclick="loadXMLDoc()">Favourites Only</div>
4

2 に答える 2

0

loadXMLDOCロードする URL を受け取る追加の引数を関数に追加します。例えば:

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>
于 2013-08-18T12:45:30.727 に答える
0

これは、異なる値で呼び出すことができる 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>

次に、html は次のようになります。

    <div class="" onclick="loadXMLDoc('indexEveryone')">Everyone</div>
    <div class="" onclick="loadXMLDoc('indexFav')">Favourites Only</div>

それが役立つことを願っています。

于 2013-08-18T12:45:58.593 に答える