10 月 26 2006

Ajax ローカル上での罠

Published by haga at 15:50 under ajax, javascript

AjaxでちょっとしたRSSリーダーでも作ろうと思って
手を動かしはじめたんだけど
あんまり多くのライブラリは使いたくないという理由でPrototype.jsにした。
で一番しょっぱなからつまづく

<br>new Ajax.Request('http://b.hatena.ne.jp/zackle/rss',options);<br>



で、ローカル上(←ここが重要だったらしい)のHTMLから動かしても
FireFoxでうんともすんともいわねぇ。
IEでは通る。

どうやらFireFoxはローカル以外のファイルにアクセスできないようになっているらしい。
それならばと、XMLをローカルに配置していざ!

<br> new Ajax.Request('rss.xml',options);<br>




これだと、FireFoxでは動くものの
IEではNullっぽいものが返ってくる。

で、さんざん悩んだ結果、IEはローカルファイルにアクセスできないんだと。

え?Mozzilaはローカルファイルじゃないとアクセスできなくて
IEはローカルファイルにアクセスできない??
なにその相反した関係は・・・。

よくよく考えたら、サーバにあげればいいんじゃんという
ごく普通の事に気がついた。
当然動いた。

つまり別サーバにあるXMLを取得するには、サーバプログラムをかます必要があるってことだな。
それと開発にはサーバが必要だってことじゃんね。

僕のようなJavaScriptをよく知らない人間は、結構落ちる罠かなと。

Trackback URI | Comments RSS

Leave a Reply