IE8以下ではjQuery.ajax()にtype:’getJSON’が使えない

Webサイトにajaxでjsonを読み込む機能をつけたところ, InternetExplorer8,7,6で正しく実行されなかった. 解決策と備忘録です.

問題になるのは, 例えば以下のようなスクリプト.

$.ajax('sample.js', {
  type:'getJSON',
  success:function(data){
    alert('success!!');
  },
  error:function(errorThrown){
    alert('error..');
  }
});

他のブラウザではsuccessを返すのだけれど, IEだけerrorになってしまう.
type:’getJSON’をtype:’GET’,dataType:’json’に書き換えると上手く動いた.

$.ajax('sample.js', {
  type:'GET',
  dataType:'json',
  success:function(data){
    alert('success!!');
  },
  error:function(errorThrown){
    alert('error..');
  }
});

ここに至るまでにいろいろな解決策を試したのでリンクをメモ.
IEとjsの挙動で困っている人はこれらの項目もチェックした方がいいかもしれません.

■関連記事:

Comments are closed.