AJAX XMLHttpRequest
- 前のページ AJAX 入門
- 次のページ AJAX Suggest
XMLHttpRequestオブジェクトはAJAXの可能性を生み出しました。
XMLHttpRequest
XMLHttpRequestオブジェクトはAJAXの鍵です。
このオブジェクトは、Internet Explorer 5.5と2000年7月のリリース以降利用可能でしたが、2005年にAJAXとWeb 2.0についての議論が始まる前に、このオブジェクトは十分に認識されていませんでした。
XMLHttpRequestオブジェクトの作成
異なるブラウザでは異なる方法で XMLHttpRequest オブジェクトを使用しています。
Internet Explorerでは、 ActiveXObject。
他のブラウザでは、 XMLHttpRequest のJavaScript内蔵オブジェクト
この問題を克服するために、以下の簡単なコードを使用できます:
var XMLHttp=null if (window.XMLHttpRequest) { XMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP") }
コード説明:
- まず、XMLHttpRequestオブジェクトとして使用するために作成します XMLHttp 変数。その値を null に設定します。
- 次にテストします window.XMLHttpRequest オブジェクトが利用可能かどうかを確認します。新しいバージョンのFirefox、Mozilla、OperaおよびSafariブラウザでは、このオブジェクトは利用可能です。
- 利用可能であれば、それを使って新しいオブジェクトを作成します:XMLHttp=new XMLHttpRequest()
- 利用不可能であれば、それを検出します window.ActiveXObject 利用可能かどうかを確認します。Internet Explorer version 5.5およびそれ以降のバージョンでは、このオブジェクトは利用可能です。
- 利用可能であれば、それを使って新しいオブジェクトを作成します:XMLHttp=new ActiveXObject()
改良された例
一部のプログラマーは最新かつ最速のバージョンのXMLHttpRequestオブジェクトを使用することが好きです。
以下の例では、マイクロソフトの最新バージョンの「Msxml2.XMLHTTP」をロードしようと試みています。Internet Explorer 6で利用可能であり、ロードできない場合は「Microsoft.XMLHTTP」に戻ります。これはInternet Explorer 5.5およびその後のバージョンで利用可能です。
function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
コード説明:
- まず、XMLHttpRequest オブジェクトとして使用する XMLHttp 変数。その値を null に設定します。
- ウェブ標準に基づいてオブジェクトを作成します(Mozilla、Opera、Safari):XMLHttp=new XMLHttpRequest()
- マイクロソフトの方法でオブジェクトを作成し、Internet Explorer 6 以降のバージョンで使用可能:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
- エラーをキャッチすると、より古い方法(Internet Explorer 5.5)を試みます:XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
XMLHttpRequest オブジェクトに関するさらに詳しい情報
XMLHttpRequest に関するさらに詳しい情報を希望される場合は、以下のサイトを訪れてください AJAX 教程。
- 前のページ AJAX 入門
- 次のページ AJAX Suggest