Ajax勉強してて思った。

学校で、卒業研究が始まる前、XMLの授業があって、

個人的には結構使えそうだなぁと思いながらやっていたんだけど、

学校のカリキュラムでは、Javaを使ったXMLへのアクセスをやっていて、

教科書にはJavaScriptとJavaと2通り載ってたんだが、


Ajaxやるとなると、JavaScriptでのXML操作を勉強した方が良かったのでは?


XMLの基本的な記述の仕方や検証の仕方は習ったけど、

XMLを有用なデータとして処理するためにはプログラムが必要です。

AjaxではWebリッチクライアントとしてのXML操作にJavaScriptを使います。

JavaScriptは名前がJAVAと似ていて、メソッド等も似てはいるけど、

結構細かい動作になると記述の仕方が違っているようで、

XMLの授業のとき時間十分に余ってたんだから、JavaScriptもやっておけばよかったと後悔。



さて、昨日のAjaxとぬかして作ったページ。

実際にはどういう動きをしていたかと言うと、

まず、フォームのボタンを押すと、OnClick関数で、

別に作った、test.jsというJavaScriptファイル内の、load1メソッドを呼ぶ。

loadメソッドで、XMLHttpRequestオブジェクトを作る。

(Gecko系はXMLHttpRequestでいいが、Trident系(IE系)は、
ActiveXObject("Microsoft.XMLHTTP")
IE6以降の場合は↓、
ActiveXObject("Msxml2.XMLHTTP")でオブジェクトを作る)

そのオブジェクトに、GETでデータの入ったテキストファイルを非同期【asynchronous】で、オープン。

Sendで通信を行い、

データを正しく受け取ったら(Httpステータスコードで判断)

それをテキストエリアに表示すると言うプログラム。


受け取るデータがテキストデータなので、XMLのように特に操作せずそのまま表示するようにしている。

(ただ、XMLと同じく、文字エンコードはUTF-8で作成する)


このような非同期の通信を行うようにするメリットは、

データを全て受信しなくても、操作を行えると言うこと。

(Httpステータスを見て、それぞれの処理を作る)
(昨日のプログラムにはそこまでしていないが・・)



とりあえず、また暇を見つけて、次はXML通信をするページでも作ってみるかな。

まぁ、それより前に、Vistaインストールしてそのレポートになると思うけどw