2013年4月5日金曜日

Ajaxでjson取得うまくいかない時

Ajaxでjson形式のデータ取得うまくいかない時ありますよね.

疑うポイントは以下の2点です.

 ①Ajaxが正しく書けているか
 ②jsonは間違ってないか


①Ajaxが正しく書けているか まずは例を…

$.ajax({
 type: "GET",
 scriptCharset: 'utf-8',
 url: "./getjson.php",
 data: {year : myYear, month : myMonth +1},
 success: function(res){
  var re = $.parseJSON(res);
 },
 error:function(){console.log('miss');}
});

上のjQueryで書かれたajaxは,getjson.phpにyear : myYear, month : myMonth +1というデータを送る事でjson形式のデータを得てます.
成功した場合successが処理され,失敗だとerrorが処理されます.

*dataはなくても大丈夫です.javascript側から何か送りたいときに使います.


②jsonのチェックについて

一度,jsonのバリデータを通してみるといいです.

バリデータとは,型があってるかどうか調べてくれる物です.

おすすめのバリデータはhttp://jsonlint.com/



青っぽいところに、jsonを送るphpなりのURLを投げてValidateボタンを押すだけです.

・成功の場合

URLはjsonに変わりValidateボタンの下のResultがこのように変化します.


・失敗の場合

Resultはエラーを吐きます.

エラーを吐かれたらAjaxの前にjsonが悪いってわかりますよね.
ぼくはここにゴミが入ってて詰んでたことあります.



これで助かる人がいれば嬉しいです. byおこめ

0 件のコメント:

コメントを投稿