• ベストアンサー

IE以外、JSON の内容を画面に表示してしまう

Rails4 と dojo で Ajax を用いて画面とサーバーで JSON のやり取りをする Web ページを開発しているのですが、 サーバーから送られてきたデータをブラウザが取得すると、 IE は Javascript で receive し、処理が実行されるのですが chrome や Firefox 、スマートフォンのブラウザでは JSON を直接画面に出力してしまいます。 このバグは何が原因でしょうか? また、どうすればIE 以外のブラウザでも JSON を正しく受信できるようになるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

どんなスクリプトを書いたのか提示されないと、直接原因は、あなたのスクリプトにあるとしかいえません。 ブラウザでJavaScriptが実行できるようになってから現在まで、IE専用というかIE独自実装は消えたことがないので、この違いを自前で対処する(オブジェクト名の根幹が違ってたりするので、おおむねブラウザ分け記述必須となる)のは面倒なので、Jqueryなどのライブラリを使う方向になってきています。

OkamotoT
質問者

お礼

すみません。 処理を見直したところ、ajaxの通信が問題ではなくて、 Document.getElementById の引数に name を指定しており、 IE では name でも DOM が取得できますが、 それ以外のブラウザはエラーで落ちてしまう仕様の違いが原因でした。 お騒がせしました。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 適切なContent-Typeのヘッダーを出力していますか? jsonの場合 application/json となります。 違っていたらすみません。

関連するQ&A