とりあえず暇だったし何となく始めたブログ このページをアンテナに追加 RSSフィード

UNIX 系企業のぺーぺー

最近は、twitterでつぶやくのが楽で、そっちばかりになってます。IDは同じ khiker でやってます。

トラックバック/コメント歓迎・反応は遅くなることがあります。コメント、トラックバックがあるとメールで通知されるので、過去のエントリにコメントされても気付きます。

2008/10/26

[][][] IE+Jsonではまった

jsonを扱ってゴニョゴニョするものを今日作っていたら,例によってFirefoxではすぐに上手くいったのだけど,

IEではまったのでメモしておく.


xmlhttprequestで同期させて値を取ってきていたのだけど,何故かresponseTextか空っぽになっている.

Firefoxだと値がちゃんとあるのに.

検索してみたり色々試してみた結果,送信されるヘッダに関係しているみたい.

ほとんど気にしたことはなかったのだけど,.htaccessにちゃんと書いてないとIEだとアウトの模様.

次のようなものを.htaccessに足したらちゃんと動いた.

AddCharset utf-8 json
AddType text/javascript json

これが問題だったということは,javascriptコード自体に問題はなかったということだから,滅茶苦茶ハマった….


あと,FirefoxでもJSONで少し悩んだ.

{"hoge":"foo"
"fuga":"bar"
...
"hidebu":"tawaba"}

のようなJSONがあったとき,これをそのままevalしても駄目だということ.

エラーがでてアレ?と思った.

A: eval( responseText );
B: eval("(" + responseText + ")");

つまり,上のAではアウトでBのように括弧で括ってあげなければならないみたい.

ググって出てきたこのページのお陰で助かった.

  • http://d.hatena.ne.jp/sshi/20060904/p1

上記ページによると,中括弧{}がjsonではなく,

Javascriptの構文(ブロック?)として認識されているからだろうとのこと.

なるほろ.


javascriptは便利で作るのも楽しいんだけど,ブラウザ毎の挙動を埋めるのがたいへんでまいるね.

IEに対応させるのが特につらい.1つだけ突出して違いすぎ.

その上自分の環境Linuxだし(これは自分の問題なのだろうけどw).

更新時刻

  • 2008/10/26/21:15

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/khiker/20081026/javascript_json