目指せ非プログラマー

もう何でもごじゃれ言語

IE8も対応? jquery.upload.js(jQueryプラグイン)でのエラー対策

ajax通信でファイルをアップロード!

HTML5が使えればいいんですけど、IE8とかあれ何で・・・こいつを使用していました。

最近いろんなサイトのリンクが切れてるみたいです。

(サイトがなくなったのかな?2013年11月とかの記事のリンク切れてたりしてたな) 

 

jQuery.upload | jQuery Plugin Registry

 

ここから見るとまだあるようですね。。。

ってか、人気ないねw

jQueryプラグイン - uploadでの検索結果

 

ちなみに私は1.0.2を使っていたのですが、返信形式をjsonにして、timeoutなどの時どうなるのか実験してみました。

 

そしたら、IEでエラー・・・・(他のブラウザもだったかな?)

おい!

 

私の場合は 116行目でエラーが発生しましました。("()" syntax error みたいなの)

jsonじゃないデータが返ってきたときにうまく処理できてないようですね。

jQueryなどをいじるのは面倒なのでjquery.uploadをいじります。

 

原因

jQueryajaxでは、sessionが成功時、errorがエラー時といったように分かれていますが、jquery.uploadではわかれていません。

全てが同じところで処理されます。

そのため、jquery.upload内でエラーが発生しているようです。

 

対策

110行目あたりのswichすべてをtry{}とかで囲んでやって

catch{}内でreturn data;してやればok

ただ、返ってくるところで自分なりに処理をしないといけないですけどね。

 

ま、jquery.uploadが単純なので自分なりにカスタマイズするのもありかもしれません。

 

※カスタマイズによるあれやこれやはライセンスを見てくださいね

 

 

※追記

上記のことをやっても他の箇所で解決にはならないようで・・・

追加でこんなの書きました。

jQuery.upload.js でずっと応答が返ってこないときの対応