このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

JavaScript Ajax XMLHttpRequest

この記事は最終更新日から1年以上が経過しています。

AjaxはJesseJamesGarrettが発表した用語で、「Asynchronous JavaScript + XML」(非同期的なJavaScript + XML)の略ですが、Ajax とはそもそもなんなのか。

ってところですよね。

一般的に使われているAjaxという言葉はあいまいですが「JavaScriptでサーバーからデータを取り出して活用するページ」がAjaxを使ってページと呼ばれています。

また、Garrettによる定義で「XMLHttpRequestを使った非同期的なデータの取り出し」とあり、XMLHttpRequestでXMLデータを取り出すテクニックが狭い意味でのAjaxと見なされるようです。

XMLHttpRequestオブジェクトの作成

XMLHttpRequestオブジェクトはその名のとおりXMLデータをHTTPプロトコルを使って要求するオブジェクトです。

HTTPプロトコルとはブラウザーがサーバーからファイルを受け取るのに使用されてる通信手段で、XMLHttpRequestオブジェクトを使うと、スクリプトの一部がブラウザーになったかのように、サーバーとやり取りが行えます。

では作成方法を

Mozilla, Opera, Safari,IE 7〜

obj = new XMLHttpRequest();

IE6

obj = new ActiveXObject("Msxml2.XMLHTTP");

IE 5,5.5

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

で作成出来ます。

このオブジェクトの由来は、2000年にマイクロソフト社がWindowsに導入した「MSXML」の機能です。

Microsoft.XMLHTTPはMSXMLバージョン2の機能でMsxml2.XMLHTTPはMSXMLバージョン3の機能を使っています。

その後、MozillaはXMLHTTPと同様の機能を持つXMLHttpRequestオブジェクトを搭載し、OperaとSafariもMozillaの後追いをする形で同様のオブジェクトに対応しています。

IE7からもこれに対応し、obj = new XMLHttpRequest();でXMLHttpRequestオブジェクトを作成することができます。

ではクロスブラウザを考慮したXMLHttpオブジェクトの作成方法を

JavaScript

function createXMLHttp() {
  var obj = null;
  try{ //Safari,Mozilla, Opera, IE 7〜
    obj = new XMLHttpRequest();</div>
  }
  catch(e) {
    try { //IE6
      obj = new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch(e) {
    try { //IE 5,5.5
      obj = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e){}
  }
}
return obj;
}

Related Article

LATEST NEWS

RANKING

ARCHIVE

SPONSOR

現在、掲載募集中です。



Links

現在、掲載募集中です。



About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。