hnwの日記

jQueryでJSONPを使ってみたらエラーが取れない

jQueryで遊んでみました。$.ajax()で、別サイトのAPIを叩いてJSONPでデータをもらってきて、そのデータをJavaScriptで加工する、なんてことが簡単にできました。jQuery便利ですね。(他のJavascriptライブラリと比べて便利かどうかはわかりませんけど)


ところで$.ajax()JSONPを使った場合に、アクセスしたURLから401とか403とか404とかを返されると実行が止まってしまうようです。errorプロパティにエラーハンドリングの関数を書いてみたり、ajaxError()を使ってみたりしたんですがどうにもダメでした。


同じ悩みを持った方が僕以外にも居るようです。


3番目の記事を書いた方は「scriptタグにonerrorつければいいんじゃね?」という指摘です。もしクロスブラウザ対応可能ならjQueryでも採用してくれないかなー、というのが軟弱な僕の感想です。


僕は解決をあきらめて一定時間結果が帰ってこない(=アクセスに時間がかかっているか、404などで実行が止まっている)状態ならエラー扱いにしました。ナイスな解決策をご存知の方は教えてください。と投げっ放しで終わります。