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
学校で、卒業研究が始まる前、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