tmytのらくがき

個人の日記レベルです

暇だったのでajaxで遊んでみた。

こんなんできた。

function trythese() {
  var returnValue;
    for (var i = 0, length = arguments.length; i < length; i++) {
      var lambda = arguments[i];
        try {
          returnValue = lambda();
          break;
        } catch (e) {}
    }
  return returnValue;
}
function AjaxUpdater(id, url) {
  var transport = trythese(
    function() {return new XMLHttpRequest()},
    function() {return new ActiveXObject('Msxml2.XMLHTTP')},
    function() {return new ActiveXObject('Microsoft.XMLHTTP')}
  );
  if (transport) {
    transport.onreadystatechange = function() {
      if ((transport.readyState == 4) && (transport.status == 200))
      {
        document.getElementById(id).innerHTML=transport.responseText;
      }
    }
    transport.open("GET",url,true);
    transport.send(null);
  }
}

といってもprototype.js参考にしまくりですが・・・

new AjaxUpdater('hoge', 'foo?bar');
とかやったらfoo?bar の結果をid="hoge" のinnerHTMLにこりこんでくれます。