Jump to content

AJAX load external html into div


chrischen

Recommended Posts

I use this code to load external html files into a div

 

[pre]function ahah(url, target) {

document.getElementById(target).innerHTML = '<div style="text-align:center;filter:alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity: 0.5;opacity: 0.5; "><img src="/images/loading.gif" /></div>';

  if (window.XMLHttpRequest) {

    req = new XMLHttpRequest();

  } else if (window.ActiveXObject) {

    req = new ActiveXObject("Microsoft.XMLHTTP");

  }

  if (req != undefined) {

    req.onreadystatechange = function() {ahahDone(url, target);};

    req.open("GET", url, true);

    req.send("");

  }

 

function ahahDone(url, target) {

  if (req.readyState == 4) { // only if req is "loaded"

    if (req.status == 200) { // only if "OK"

      document.getElementById(target).innerHTML = req.responseText;

    } else {

      document.getElementById(target).innerHTML=" AHAH Error:\n"+ req.status + "\n" +req.statusText;

    }

  }

}

 

function load(name, div) {

ahah(name,div);

return false;

}[/pre]

 

But I i'm trying to load two different files into two different divs on the same page. So I call <body onload="load('file.php','div1');load('file2.php','div2');"> but the first call doesn't load. I know using the javscript code above twice and naming the functions differently the second time makes it work, but how do I modify the code so that I don't have to repeat that stuff twice?

 

Thanks.

Link to comment
https://forums.phpfreaks.com/topic/91786-ajax-load-external-html-into-div/
Share on other sites

Your second request override your first request. Your req variable must be a local variable in the function, try to add a var infront of it

if (window.XMLHttpRequest) {
    var req = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
    var req = new ActiveXObject("Microsoft.XMLHTTP");
}

 

hope that's work.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.