2008/10/26
■[IE][Javascript][Json] 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つだけ突出して違いすぎ.
更新時刻
- 2008/10/26/21:15
トラックバック - http://d.hatena.ne.jp/khiker/20081026/javascript_json
リンク元
- 918 http://okwave.jp/qa/q4508674.html
- 205 http://perl.no-tubo.net/2009/08/24/jsonpのie対応-utf8で動かない件/
- 174 http://okwave.jp/qa4508674.html
- 98 http://kennyqi.com/archives/221.html
- 86 http://oshiete.goo.ne.jp/qa/4508674.html
- 54 http://questionbox.jp.msn.com/qa4508674.html
- 40 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=html+javascript+ myIpAddress&btnG=検索&lr=lang_ja
- 35 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGIH_jaJP285JP285&q=コメント DL
- 31 http://oshiete1.goo.ne.jp/qa4508674.html
- 22 http://perl.no-tubo.net/tag/json/
理系大学院を無事卒業
ファイル置き場:ファイル置き場死亡中(復活超未定)最近は、twitterでつぶやくのが楽で、そっちばかりになってます。IDは同じ khiker でやってます。
トラックバック/コメント歓迎・反応は遅くなることがあります.