例のあれ(仮題)

むしろ一昨日参ります。

今更ながらjQueryでJSONPを使ってみた。の2 - 2009/7/5 (日) p.m.08:53 -

 JSONPだとエラーがキャッチできない - blog::konk303

 例のあれ(仮題)・今更ながらjQueryでJSONPを使ってみた。の続きであります。

 例えばアクセスしたURLが404だったり403だったり501だったりすると、普通のajax関数では引数としてのハッシュのキー名errorで指定した関数なりが実行されますが、jsonp的にアクセスするとそれが実行される事はありません。これは直接やり取りしているのではなくて「scriptタグ経由で無理矢理に」という方式のため判断がつかないためみたいです。と上記リンク先のページ様にも書いてあります。
 なんでもonerrorイベントなら拾えるとか拾えないとかいう話もあったのですけど、ブラウザにより挙動が違ったりするらしいし、色々面倒そうなのであっさりsetTimeout()をつかって適当に収拾する事にしました。

 直前にsetTimeout()でエラー処理を実行しておきgetJSON()、正常なレスポンスが返ってきたらいの一番にclearTimeout()を実行してエラー処理をキャンセル。

var timer = setTimeout(function() {
  alert('えらー');
  何やら後処理;
}, 60000);

$.getJSON("http://hogehoge/fugafuga.php&jsoncallback=?",
  function(data) {
    clearTimeout(timer);
    いろいろ本処理;
});

 いろいろあろうかと思うが、とりあえずこんなもので。

2010 - 3 2 1

2009 - 12 11 10 9 8 7 6 5 4 3 2 1

2008 - 12 11 10 9 8 7 6 5 4 3 2 1

2007 - 12 11 10 9 8 7 6 5 4 3 2 1

2006 - 12 11 10 9 8 7 6 5 4 3 2 1

2005 - 12 11 10 9 8 7 6 5 4 3 2 1

2004 - 12 11 10 9 8 7 6 5 4 3 2 1

2003 - 12 11 10 9 8 7 6 5 4 3 2 1

2002 - 12 11 10 9 8 7 6 5 4 3 2 1

“ひとりごと”的な(Twitter

    Googleさんでけんさく

    Google

    このページと私のコト

    長崎市在住おそらくWeb系エンジニア“たくぅ”さんが適当に適当な事を書いているページです。
    色んな方面から脱ニートしました。

    Mii

    Skype: reiare

    “れいあれ”ふぁみりー
    Touch! れいあれ
    例のtumblr
    あさましいあれ(仮題)
    あまぞしいあれ(仮題)β

    当blogのソースを公開中
    +++ download +++
    (Python 2.5.1 + Django 0.96用)