2011年10月05日

jsonとjQueryの悩ましい関係

次のようなコードを書いたらエラーが出てしまって良くよく調べるとjsonの形式が間違っていたわけです。

var jXHR = $.ajax({
url:"ajax.json",
dataType : "josn"
});
jXHR.done(function(json){
console.log("ajax success");
}).fail(function(data,type){
console.log("ajax error");
});


jsonデータは次のような感じ。

{ Data {....} }


jQuery1.3までは動いたのですがjQuery1.4からはこのコードじゃ動かない。

{ "Data" {....} }


みたいにパラメーターをダブルクオーテーションで包まなくちゃいけない。

APIをいじれない場合は次のように書いて対応することも可能

var jXHR = $.ajax({
url:"ajax.json",
dataType : "text"
});
jXHR.done(function(json){
console.log("ajax success");
eval("var json="+json);
}).fail(function(data,type){
console.log("ajax error");
});


evalとか使いたくないしやっぱりAPIを正しいものに直すのがいいと思う
posted by ねこまんま at 20:32 | Comment(0) | TrackBack(0) | jQuery | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック