Search Bloguru posts

Tai: Diary

https://en.bloguru.com/tai

XMLHttpRequest

thread
めずらしく頭を使った、そして成功したので、書き残します。
エクセルで開けられる、CSV というデータをWeb 上で読み込み、表示させる。

最新のFlash プログラムであるActionScript3.0 だと、たかだかこの程度の事でもclass ファイルというものを準備したり、そもそも、まだ十分に対応しているとは言いがたい。参考サイトが国内にはあまりに少ない。Flash の技術は、海外のほうがスマートなものが多いと思います。

国内だと文字化けの問題もありますから、方向を変えて、Ajax という技術を使う。
1.http://bloguru.com/taiたいブロ

エクセルで上のように見えている2列目を、下記のように3列目のリンクとして、Web で表示。
1.たいブロ

問題は、文字を表示させるだけではなく、2列目をリンクさせるところ。

ここでやることは、if 文を使って
if(i==0){(1列目なら)普通に記述}
else if(i==1){(2列目なら)リンク}
else if(i==2){(いや、3列目なら)リンク先の名前} とする。

上記はJavaScript だけど、どこにAjax を使うか。

ここで、タイトルのXMLHttpRequest というのが出てきます。Ajax のライブラリであるPrototype.js からのJavaScript オブジェクトで、エクセルなどのデータを集計するのに使用されます。これがあったから、CSV データが読めた、ということです。

文字コードは、html はShift-JIS でもOK でしたが、エクセルはUTF-8 でないとダメらしい。これが良く分からない。

http://developer.mozilla.org/Ja/XMLHttpRequest
#study

People Who Wowed This Post

  • If you are a bloguru member, please login.
    Login
  • If you are not a bloguru member, you may request a free account here:
    Request Account
Toshiaki Nomura
Commented by Toshiaki Nomura
Posted at 2008-09-02 08:57

なんだか読んでいるうちの目が回ってきました・・・。


む、むずかしい・・・。

People Who Wowed This Post

Tai
Commented by Tai
Posted at 2008-09-03 05:59

自分で書いておきながら、何か間違って解釈している気がしてきました。

People Who Wowed This Post

ファルコン
Commented by ファルコン
Posted at 2008-09-02 17:07

???、んんー。

People Who Wowed This Post

Tai
Commented by Tai
Posted at 2008-09-03 06:15

完成したものに、タイトルのものは使っていない気がしてきました。

People Who Wowed This Post

Tai
Commented by Tai
Posted at 2008-09-02 21:21

書いておいて何ですが、タイトルのものより、むしろAjax.Request てのを使ってますね。


これはページが表示された後でも、読んだデータが表示されるという「非同期通信」を可能にしているのだと思います。

http://4plus.jp/tech/2008/06/prototypeajaxrequestresponsexm.html
http://www.s2factory.co.jp/tech/prototype/prototype.js.html#UsingAjaxRequest
http://www.ajaxtower.jp/library/prototype/index3.html
http://www.h2o-ajax.com/article219.html

People Who Wowed This Post

Tai
Commented by Tai
Posted at 2008-09-03 09:07

http://d.hatena.ne.jp/higepon/20050816/1124188529

---------------------------------
Asynchronous JavaScript + XMLの略称。

JavaScript の組み込みクラスである XMLHttpRequest を利用した非同期通信を利用して、ウェブブラウザ上で既存の枠組みにとらわれないインタフェースを実現するための技術。実際には Ajax という技術が存在しているわけではなく、DHTML (JavaScript + CSS) と XMLHttpRequest にサーバーサイドのウェブアプリケーションとを加えたあわせ技のことを Ajax と呼ぶようになった。

Ajax を用いて構築されたインタフェースの代表例として Google Suggest や Google Maps がある。

Ajax の要素には XML も含まれているが、実際には XMLHttpRequest で取得した HTML ソースを innerHTML で流し込むという方法もよく使われるため、必ずしも XML による通信がなければいけないというわけではないようだ。すなわち、XMLHttpRequest における非同期通信機能がその肝である。
---------------------------------

People Who Wowed This Post

Happy
Sad
Surprise