Monday, October 10, 2011

jQuery+jsonpでエラーハンドリング

jQueryの$.ajaxでjsonpを使うと、errorハンドラが発火しない。jQuery+jsonpでエラーハンドリングが必要なケースは、jquery-jsonpを使う。

$.jsonp({
  url: url,
  dataType: 'jsonp',
  callbackParameter: 'callback', // パラメータ名がjsonpではなくcallbackParameter
  success: function(data, status) {},
  error: function(XHR, textStatus, errorThrown){}
});

参考:jQuery ajax (jsonp) ignores a timeout and doesn't fire the error event